以"a +"模式打开文件

9 c file-io fopen file file-pointer

如果使用以下命令打开文件:

FILE *f1=fopen("test.dat","a+");
Run Code Online (Sandbox Code Playgroud)

手册页内容如下:

A +

打开阅读和追加(在文件末尾写).如果文件不存在,则创建该文件.用于读取的初始文件位置位于文件的开头,但输出始终附加到文件的末尾.

那么f1有2个独立的偏移指针,一个用于读取,另一个用于写入?

cod*_*ict 18

没有.

只有一个指针最初位于文件的开头,但是当尝试写入操作时,它会移动到文件的末尾.您可以使用文件fseekrewind文件中的任何位置重新定位它以进行读取,但写入操作会将其移回文件末尾.