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语言实现按分隔符来截取字符串
该文件可能详细介绍了如何用C语言编写FFT算法,如Cooley-Tukey算法或Split-Radix算法,同时可能包含示例代码,帮助读者理解并应用到自己的项目中。 学习这些内容对于信号采集处理工程师至关重要,他们需要理解如何...
在提供的压缩包文件 "Split" 中,可能包含源代码文件(如Split.c或Split.h)、编译脚本、配置文件以及可能的测试数据。分析这些文件可以帮助深入理解程序的实现细节,包括如何组织代码结构、定义函数、调用系统API等...
that is split across two lines.\n"); return 0; } ``` 以上代码中,反斜杠用来连接两个物理行,使得它们在编译时被视为一个逻辑行。这是一种常见的提高代码可读性的技巧。 综上所述,C语言作为一门历史悠久且...
C语言简单实现String, 提供String基础唱作, 如 s_append / s_trim / s_split 等
在IT行业中,数据处理是一项至关重要的任务,而“split_data.c”这个程序可能是一个用于分割数据的C语言源代码文件。在这个场景下,“Split-data”标签进一步确认了这个程序的功能,即对数据进行拆分。下面我们将...
《C语言实现CSV文件解析工具详解》 CSV(Comma Separated Values)文件是一种常见的数据存储格式,广泛用于数据交换和存储。对于学习C语言的人来说,掌握如何处理CSV文件是提高编程技能的重要步骤。本篇文章将详细...
标题中的"FFT.rar"指的是一个压缩包文件,其中包含了关于快速傅里叶变换(Fast Fourier Transform,简称FFT)的C语言实现。FFT是一种高效的算法,用于计算离散傅里叶变换(Discrete Fourier Transform,DFT),在...
主要分为Cooley-Tukey算法、Split-Radix FFT和Prime-Factor FFT等。 3. **Cooley-Tukey算法**:最常见的FFT实现方式,基于分治策略,将大问题分解为小问题解决,再合并结果。 4. **蝶形运算**:Cooley-Tukey算法的...
标题中的"Split function for c language"指的是在C语言中实现的一种字符串分割函数。在C语言中,处理字符串通常涉及到字符数组和字符串操作函数,如`strtok`等。字符串分割函数是将一个字符串依据特定分隔符切割成...
典型的FFT算法包括Cooley-Tukey算法、Bluestein算法、Split-Radix算法等。由于"fft.c"文件未提供具体内容,我们无法详细分析其具体实现方式,但可以推测它可能包含了这些基本元素。 **文件列表** 压缩包中的"fft....
同时,还需要实现`findFit`函数来寻找合适的空闲分区,`split`函数进行分区切割,以及`merge`函数进行分区合并。 实验报告会详细阐述每个函数的设计思路和实现细节,同时通过实例演示其运行效果,分析可能出现的...
Cooley-Tukey算法分为两种类型:位反序(radix-2 in-place)和分而治之(split-radix)。 在C语言中实现基2的FFT,我们通常会按照以下步骤进行: 1. **预处理**:检查输入序列长度是否为2的幂,如果不是,需要填充...
### FIR滤波器在DSP中的C语言实现 #### 概述 FIR(Finite Impulse Response)滤波器是数字信号处理(DSP)领域中一种非常重要的线性时不变滤波器类型。与IIR滤波器不同,FIR滤波器具有线性相位特性,并且稳定,这...
**Merge Sort 算法详解及C语言实现** Merge Sort是一种高效的、稳定的排序算法,它的基本思想源于分治策略。这种策略将一个大问题分解为若干个小问题来解决,最终合并小问题的结果得到原问题的解。Merge Sort的步骤...
通常,会使用递归或者分治策略来构建FFT算法,这可能包括`split-radix`、`Cooley-Tukey`等不同变体。递归方式将大问题分解为两个较小的问题,然后合并它们的解决方案;而分治策略则是将问题分成若干个独立的部分,...
4. **字符串**:Python的字符串是不可变的,提供了丰富的字符串操作函数,如`len()`、`split()`、`join()`等。 5. **文件操作**:Python使用内置的`open()`函数打开文件,`read()`、`write()`、`close()`进行读写...
5. **最长单词查找**:字符串分割和比较,可能需要用到字符串的split()函数和比较操作。 6. **模拟选举**:随机数生成、条件判断以及计数,可能用到数组存储投票结果。 7. **连续奇数之和**:需要理解立方公式,并...
对于自动生成迷宫,我们可以采用深分法(Deep Split)或者Prim算法等方法。深分法是一种随机算法,它通过随机选择未访问的通路并将其一分为二来构建迷宫。Prim算法则是从一个起始点出发,逐步扩展迷宫,每次添加一条...