我在寻找一个解决方案来拆分c中的单行文件时遇到了一些麻烦。有一个.txt文件是这样的:
9999 m 32
9998 f 20
9997 o 22
9996 m 18
9995 o 45
9994 f 40
9993 m 76
其中,例如,9994 f 40
,9994
是一个整数,f
是一个字符,40
是另一个整数。
我试图使用fgets()
来提取行,然后将其分开,但我没有找到一种方法将行信息一分为三,这样我就可以按需要使用它们。除了fgets()
之外,还有另一个函数可以更好地解决这个问题?或者有一种方法可以用fgets()
来实现
发布于 2019-04-24 02:45:47
您可以使用fgets
逐行读取文本文件,并使用sscanf
从字符串中获取int
和char
值:
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);
}
}
https://stackoverflow.com/questions/55817497
复制相似问题