它说在 r+ 和 w+ 中我们都可以读取和写入文件。那么 r+ 和 w+ 有什么不同?
在什么文件模式下我们可以在文件中间写入。这里我想覆盖特定位置的文件内容而不是插入。
r
打开用于读取的
w
文本文件创建用于写入的文本文件;a
如果有任何附加,则丢弃以前的内容
;在文件末尾打开或创建用于写入的
r+
文本文件 打开用于更新的文本文件(即读取和写入)
w+
创建用于更新的文本文件;a+
丢弃任何附加的先前内容
;打开或创建文本文件进行更新,最后写入
在这两种模式下w
,您都w+
可以使用 fseek 编写。请注意,如果文件不存在,w+ 会创建一个文件!
该w+
模式将截断(清空)文件。因此,如果您想更改内容而不是编写新文件,请使用r+
. 请注意,正如 Tim Cooper 所指出的,您不能在文件中间追加内容,因此您可以使用fseek
和 write 函数覆盖某些部分。但是你不能在中间插入一些文本而不重写它后面的所有内容。