我是C编程的新手,这是作业的一部分。我试图以格式:
读取逗号分隔的文本文件 [value1], [value2]
在C中并尝试将它们作为string和int参数传递给函数。我已经尝试过使用sscanf()甚至使用fgetc()进行操作而没有太多帮助。逗号之后的空格被证明是一个问题。
示例:
2001, 102
1314, 78
0410, 910
...
请帮帮我。
谢谢。
答案 0 :(得分:2)
感谢@rubberboots的帮助。
#include <stdio.h>
#include <string.h>
void main()
{
FILE *fp = fopen("user.dat", "r");
const char s[2] = ", ";
char *token;
int i;
if(fp != NULL)
{
char line[20];
while(fgets(line, sizeof line, fp) != NULL)
{
token = strtok(line, s);
for(i=0;i<2;i++)
{
if(i==0)
{
printf("%s\t",token);
token = strtok(NULL,s);
} else {
printf("%d\n",atoi(token));
}
}
}
fclose(fp);
} else {
perror("user.dat");
}
}
user.dat文件:
1000,76
0095,81
2910,178
0001,1
输出:
1000 76
0095 81
2910 178
0001 1