我是个编程新手,这是我的一部分作业。我尝试读取一个逗号分隔的文本文件,格式如下:
[value1], [value2]
在C语言中,我试图将它们作为字符串和整数参数传递给函数。我尝试使用sscanf()甚至使用fgetc()来进行操作,但没有得到太多帮助。逗号后面的空格证明是一个问题。
示例:
2001, 102
1314, 78
0410, 910
...
请帮我一下。
谢谢。
我是个编程新手,这是我的一部分作业。我尝试读取一个逗号分隔的文本文件,格式如下:
[value1], [value2]
2001, 102
1314, 78
0410, 910
...
#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");
}
}
用户数据文件:
1000,76
0095,81
2910,178
0001,1
输出结果:
1000 76
0095 81
2910 178
0001 1
while(2==fscanf(fp, "%d,%d", &value1, &value2)){ //do stuff}
- BLUEPIXY