`

c语言的split

阅读更多
leven同学提到一个简单的功能"12 22 33 22 11"中的数字放到一个数组中,但不知道数字的个数。使用指针一个一个判断是否是数字还是空白,不太爽。而java中的split可以
很爽的处理之。c语言中sscanf似乎是不错的选择,于是使用下面方法,试验成功。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 20
#define MAX_LEN 10

int main(){
	char line[] = "12 22 33 22 11";
       //the max length of int we used no more than MAX_LEN 
	char *s = (char *)malloc(MAX_LEN * sizeof(char));
	int a[MAX];
	char *p = line;
	int cur_len;
	int i =  0;

	while(p && sscanf(p,"%s",s) == 1){
		cur_len = strlen(s);
		s[cur_len] = '\0';
		a[i] = atoi(s);
		p += cur_len;
		p++;
		i++;
	}
	
	int j = 0;
	for(j = 0; j < i-1; j++){// the i is '\0' in s
		printf("%d\t",a[j]);
	}
	printf("\n");
}

sscanf用法参见http://www.cplusplus.com/reference/clibrary/cstdio/sscanf/
分享到:
评论

相关推荐

    c语言实现字符串分割split()

    c语言实现字符串分割split(), 实现C语言实现按分隔符来截取字符串

    数字信号处理 C语言 DSP FFT DFT

    该文件可能详细介绍了如何用C语言编写FFT算法,如Cooley-Tukey算法或Split-Radix算法,同时可能包含示例代码,帮助读者理解并应用到自己的项目中。 学习这些内容对于信号采集处理工程师至关重要,他们需要理解如何...

    C语言文件分割程序

    在提供的压缩包文件 "Split" 中,可能包含源代码文件(如Split.c或Split.h)、编译脚本、配置文件以及可能的测试数据。分析这些文件可以帮助深入理解程序的实现细节,包括如何组织代码结构、定义函数、调用系统API等...

    C语言C语言-C语言笔记-B站小甲鱼

    that is split across two lines.\n"); return 0; } ``` 以上代码中,反斜杠用来连接两个物理行,使得它们在编译时被视为一个逻辑行。这是一种常见的提高代码可读性的技巧。 综上所述,C语言作为一门历史悠久且...

    C语言实现String操作

    C语言简单实现String, 提供String基础唱作, 如 s_append / s_trim / s_split 等

    split_data.c_Split-data_

    在IT行业中,数据处理是一项至关重要的任务,而“split_data.c”这个程序可能是一个用于分割数据的C语言源代码文件。在这个场景下,“Split-data”标签进一步确认了这个程序的功能,即对数据进行拆分。下面我们将...

    C语言CSV_Utile.rar

    《C语言实现CSV文件解析工具详解》 CSV(Comma Separated Values)文件是一种常见的数据存储格式,广泛用于数据交换和存储。对于学习C语言的人来说,掌握如何处理CSV文件是提高编程技能的重要步骤。本篇文章将详细...

    FFT.rar_C语言FFT_FFT 128点_c语言 fft_fft_fft的C语言实现

    标题中的"FFT.rar"指的是一个压缩包文件,其中包含了关于快速傅里叶变换(Fast Fourier Transform,简称FFT)的C语言实现。FFT是一种高效的算法,用于计算离散傅里叶变换(Discrete Fourier Transform,DFT),在...

    fft.rar_C语言 FFT_c语言 fft_fft c++_fft c语言_fft_ifft

    主要分为Cooley-Tukey算法、Split-Radix FFT和Prime-Factor FFT等。 3. **Cooley-Tukey算法**:最常见的FFT实现方式,基于分治策略,将大问题分解为小问题解决,再合并结果。 4. **蝶形运算**:Cooley-Tukey算法的...

    Split function for c language

    标题中的"Split function for c language"指的是在C语言中实现的一种字符串分割函数。在C语言中,处理字符串通常涉及到字符数组和字符串操作函数,如`strtok`等。字符串分割函数是将一个字符串依据特定分隔符切割成...

    fft.rar_C语言 FFT_fft_fft c语言_fft.c

    典型的FFT算法包括Cooley-Tukey算法、Bluestein算法、Split-Radix算法等。由于"fft.c"文件未提供具体内容,我们无法详细分析其具体实现方式,但可以推测它可能包含了这些基本元素。 **文件列表** 压缩包中的"fft....

    C语言实现动态分区分配方式的模拟实验报告附代码

    同时,还需要实现`findFit`函数来寻找合适的空闲分区,`split`函数进行分区切割,以及`merge`函数进行分区合并。 实验报告会详细阐述每个函数的设计思路和实现细节,同时通过实例演示其运行效果,分析可能出现的...

    用C语言实现FFT算法的编写,可与DFT时间作比较

    Cooley-Tukey算法分为两种类型:位反序(radix-2 in-place)和分而治之(split-radix)。 在C语言中实现基2的FFT,我们通常会按照以下步骤进行: 1. **预处理**:检查输入序列长度是否为2的幂,如果不是,需要填充...

    FIR滤波器在DSP的实现主程序C语言

    ### FIR滤波器在DSP中的C语言实现 #### 概述 FIR(Finite Impulse Response)滤波器是数字信号处理(DSP)领域中一种非常重要的线性时不变滤波器类型。与IIR滤波器不同,FIR滤波器具有线性相位特性,并且稳定,这...

    Merge Sort 算法 C语言实现

    **Merge Sort 算法详解及C语言实现** Merge Sort是一种高效的、稳定的排序算法,它的基本思想源于分治策略。这种策略将一个大问题分解为若干个小问题来解决,最终合并小问题的结果得到原问题的解。Merge Sort的步骤...

    基于C语言的FFT倒位序设计 DFT快速傅里叶算法

    通常,会使用递归或者分治策略来构建FFT算法,这可能包括`split-radix`、`Cooley-Tukey`等不同变体。递归方式将大问题分解为两个较小的问题,然后合并它们的解决方案;而分治策略则是将问题分成若干个独立的部分,...

    用python重写了C语言经典100例

    4. **字符串**:Python的字符串是不可变的,提供了丰富的字符串操作函数,如`len()`、`split()`、`join()`等。 5. **文件操作**:Python使用内置的`open()`函数打开文件,`read()`、`write()`、`close()`进行读写...

    C语言编程题精选 C语言编程题精选

    5. **最长单词查找**:字符串分割和比较,可能需要用到字符串的split()函数和比较操作。 6. **模拟选举**:随机数生成、条件判断以及计数,可能用到数组存储投票结果。 7. **连续奇数之和**:需要理解立方公式,并...

    迷宫问题~C语言实现

    对于自动生成迷宫,我们可以采用深分法(Deep Split)或者Prim算法等方法。深分法是一种随机算法,它通过随机选择未访问的通路并将其一分为二来构建迷宫。Prim算法则是从一个起始点出发,逐步扩展迷宫,每次添加一条...

Global site tag (gtag.js) - Google Analytics