-1

它说在 r+ 和 w+ 中我们都可以读取和写入文件。那么 r+ 和 w+ 有什么不同?

在什么文件模式下我们可以在文件中间写入。这里我想覆盖特定位置的文件内容而不是插入。

4

2 回答 2

1

r打开用于读取的 w文本文件创建用于写入的文本文件;a如果有任何附加,则丢弃以前的内容 ;在文件末尾打开或创建用于写入的 r+文本文件 打开用于更新的文本文件(即读取和写入) w+创建用于更新的文本文件;a+丢弃任何附加的先前内容 ;打开或创建文本文件进行更新,最后写入

在这两种模式下w,您都w+可以使用 fseek 编写。请注意,如果文件不存在,w+ 会创建一个文件!

于 2013-06-08T20:54:31.873 回答
0

w+模式将截断(清空)文件。因此,如果您想更改内容而不是编写新文件,请使用r+. 请注意,正如 Tim Cooper 所指出的,您不能在文件中间追加内容,因此您可以使用fseek和 write 函数覆盖某些部分。但是你不能在中间插入一些文本而不重写它后面的所有内容。

于 2013-06-08T20:55:53.673 回答