首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将一行按空格划分为两种不同的类型

如何将一行按空格划分为两种不同的类型
EN

Stack Overflow用户
提问于 2019-04-24 02:39:28
回答 1查看 44关注 0票数 -1

我在寻找一个解决方案来拆分c中的单行文件时遇到了一些麻烦。有一个.txt文件是这样的:

代码语言:javascript
复制
9999 m 32
9998 f 20 
9997 o 22 
9996 m 18 
9995 o 45 
9994 f 40 
9993 m 76

其中,例如,9994 f 409994是一个整数,f是一个字符,40是另一个整数。

我试图使用fgets()来提取行,然后将其分开,但我没有找到一种方法将行信息一分为三,这样我就可以按需要使用它们。除了fgets()之外,还有另一个函数可以更好地解决这个问题?或者有一种方法可以用fgets()来实现

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-24 02:45:47

您可以使用fgets逐行读取文本文件,并使用sscanf从字符串中获取intchar值:

代码语言:javascript
复制
char line[30];             // read line by line input from file in this
int a,b;                  
char c; 
while(fgets(line, 30, file) != NULL){    // file is your file pointer
    if(sscanf(line, "%d %c %d", &a, &c, &b) == 3){
        printf("%d %c %d\n", a,c,b);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55817497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档