`

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. **连续奇数之和**:需要理解立方公式,并...

    Parallel Programming in Split C.pdf

    《Parallel Programming in Split C.pdf》是一篇关于并行编程技术的重要文献,该文档详细介绍了Split-C语言——一种旨在为分布式内存多处理器上的高性能编程提供支持的并行扩展语言。Split-C保留了C语言简洁的特点,...

    迷宫问题~C语言实现

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

Global site tag (gtag.js) - Google Analytics