我有以下简单的代码:

#include <stdio.h>

int main(){
        char buffer[20] = "abc";
        FILE *pFile;

        pFile = fopen("myfile1.txt", "r+");
        fputs("def", pFile);
        fgets(buffer, 20, pFile);
        printf("buffer content: %s\n", buffer);

        fclose(pFile);
        return 0;
}

输出为:buffer content: abc,而不是刚刚写入文件的def。有人能解释一下吗?

最佳答案

如果你想随机阅读,你首先要告诉文件阅读程序,你想从哪里开始。
使用fseek执行此操作。
例如:fseek(pFile, 0, SEEK_SET)在你试图用fgets得到一些东西之前。

关于c - 使用fputs写入文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56497236/

10-10 17:43