[英]Ints from text file are being read twice using fscanf to store into arrays
int main(int argc, char **argv)
{
FILE *file = fopen("Offices.txt", "r");
char officeArray[10];
int yCoordinate[10];
int xCoordinate[10];
int i=0;
int x, y;
char office;
while(fscanf(file, "%c,%d,%d", &office, &x, &y) > 0)
{
officeArray[i] = office;
xCoordinate[i] = x;
yCoordinate[i] = y;
printf("%c,%d,%d \n", officeArray[i], xCoordinate[i], yCoordinate[i]);
i++;
}
fclose(file);
return 0;
}
我有一个节点字母和坐标的文本文件:
A,1,1 B,1,5 C,3,7 D,5,5 E,5,1
我的输出是:
A,1,1 ,1,1 B,1,5 ,1,5 C,3,7 ,3,7 D,5,5 ,5,5 E,5,1 ,5,1
我不知道为什么我从文本文件中读取了两倍的整数。
我需要在 fscanf 调用中包含一个换行命令。
while(fscanf(file, "%c,%d,%d\n", &office, &x, &y) > 0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.