我在寻找在 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
是一个 int,f
个字符并40
另一个 int。
我试图使用fgets()
来获取行并在之后将其分开,但我没有找到将行信息一分为三的方法,以便我可以根据需要使用它们。除了fgets()
之外,还有其他功能更适合此?或者有一种方法可以用fgets()
做到这一点?
您可以使用
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 %dn", a,c,b);
}
}