首页 > 解决方案 > 使用 fputs 写入文件

问题描述

我有以下简单的代码:

#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刚刚写入文件。有人可以解释一下吗?

标签: clinux

解决方案


如果要随机读取,首先要告诉文件读取例程,从哪里开始。

用于fseek执行此操作。

例如:fseek(pFile, 0, SEEK_SET)在您尝试使用fgets.


推荐阅读