int main()
{
    FILE *fp;
    int testNumber;
    char answerKey[5];

    fp = fopen("test.txt", "r");

    for(int i=0; i<4; i++)
    {
        fscanf(fp, "%s %d\n", answerKey, &testNumber);

        printf("%s %d\n", answerKey, testNumber);

    }
    return 0;
}


我正在读取其中包含以下内容的文件:

dbbac 10

达巴克8

dcbdc 1

数据库5

我的输出是这样的:

数据库

10

达巴8

dcbdc 1

数据库5

为什么第一行读错了?为什么还有多余的下一行?

任何帮助,将不胜感激

最佳答案

answerKey不够长。要容纳5个字符和一个终止字符串,需要将其定义为至少包含6个字符的数组:

char answerKey[6];

关于c - 从文件读取,但读取的第一行错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22728220/

10-11 21:55