Opening a file in 'a+ 'mode

后端 未结 3 1445
感情败类
感情败类 2020-12-20 15:44

If a file is opened using the following command:

FILE *f1=fopen(\"test.dat\",\"a+\");

The man page reads:

a+

相关标签:
3条回答
  • 2020-12-20 16:19

    You can never mix reading and writing operations on a FILE without calling fseek in between. It may work as you wish on some implementations, but a program that depends on this has undefined behavior. Thus the questions of having 2 positions is meaningless.

    0 讨论(0)
  • 2020-12-20 16:29

    No.

    There is just one pointer which initially is at the start of the file but when a write operation is attempted it is moved to the end of the file. You can reposition it using fseek or rewind anywhere in the file for reading, but writing operations will move it back to the end of file.

    0 讨论(0)
  • 2020-12-20 16:37

    No it has only one pointer.

    0 讨论(0)
提交回复
热议问题