使用fscanf将文本文件中的int读取两次以存储到数组中

使用fscanf将文本文件中的int读取两次以存储到数组中,c,C,我有一个节点字母和坐标的文本文件: 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,%

我有一个节点字母和坐标的文本文件:

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 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调用中包含一个换行命令

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(文件,“%c,%d,%d”,&office,&x,&y)
-->跳过换行符所以
fscanf(文件,“%c,%d,%d,&office,&x,&y)
你是说我的fscanf结尾需要一个“\n”吗?请注意
%c
前面添加的空格,它使用了以前的空格,包括
换行符
newlinefscanf(文件,“%c,%d,%d\n”
即使文件中的最后一行也不能保证有一个
换行符
,最好在第一条注释中使用空格。
while(fscanf(file, "%c,%d,%d\n", &office, &x, &y) > 0)