我无法理解C fopen api文档中“a”和“a +”选项的描述。 “a +”中的选项是追加和更新。这里更新一词是什么意思?
答案 0 :(得分:8)
以下是手册页(man fopen
)所说的内容:
一
打开追加(在文件末尾写)。如果是,则创建该文件 不存在。流位于文件末尾。
A +
打开阅读和追加(在文件末尾写)。该文件是 如果它不存在则创建。读取的初始文件位置是 在文件的开头,但输出始终附加到结尾 该文件。
这意味着:
表示+: 指针最初位于文件的开头(用于读取)但是当尝试写入操作时,它会移动到文件的末尾。
答案 1 :(得分:3)
是的,有一个重要的区别:
a :在文件中追加数据,它可以在最后更新写入一些数据的文件;
a + :将数据附加到文件中并对其进行更新,这意味着它可以在最后写入,并且能够读取该文件。
在只写日志的实际情况下两者都是合适的,但是如果你还需要在文件中读取(使用已经打开的附加模式文件),你需要使用&# 34;的 A + 强>"