我是C的新手并且在这里遇到问题。我试图通过以下脚本传递文件numbers.in。 numbers.in包含以下两行:
12,34,56789
123456,789,0123
我试图识别逗号划分。
#include <stdio.h>
void main(int argc, char *argv[])
{
int p ,n ,x ; //Converted ints.
while ( fscanf(stdin,"%d,%d,%d\n",&p,&n,&x) == 3 );
{
printf("got the sequence (%d,%d,%d)\n",x,p,n);
}
}
我正在运行脚本,如: ./a.out< numbers.in
目前我的脚本返回完全不同的数字!我在这做错了什么?文件是否将它们作为字符发送,所以我需要以某种方式转换为int? (我尝试保存为字符然后将字符转换为字符并且还有奇怪的数字 - 但不同的奇怪数字!)
答案 0 :(得分:3)
while ( fscanf(stdin,"%d,%d,%d\n",&p,&n,&x) == 3 ); <-- remove this semicolon