fopen函数中a和a +选项有什么区别?

时间:2013-11-09 09:24:34

标签: c++ c

我无法理解C fopen api文档中“a”和“a +”选项的描述。 “a +”中的选项是追加和更新。这里更新一词是什么意思?

2 个答案:

答案 0 :(得分:8)

以下是手册页(man fopen)所说的内容:

  

     

打开追加(在文件末尾写)。如果是,则创建该文件   不存在。流位于文件末尾。

     

A +

     

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


这意味着:

表示+: 指针最初位于文件的开头(用于读取)但是当尝试写入操作时,它会移动到文件的末尾。

答案 1 :(得分:3)

是的,有一个重要的区别:

a :在文件中追加数据,它可以在最后更新写入一些数据的文件;

a + :将数据附加到文件中并对其进行更新,这意味着它可以在最后写入,并且能够读取该文件。

在只写日志的实际情况下两者都是合适的,但是如果你还需要在文件中读取(使用已经打开的附加模式文件),你需要使用&# 34;的 A + "