0

what's mode 指针是什么模式,'insert'或者overwrite

因为我是file pointerC 新手,所以也许我的问题很愚蠢。如果有人有这种感觉,我很抱歉。

如果我想insert some character进入现有文件但不丢失此文件中的任何字符,我可以做什么。

4

2 回答 2

3

我所知道的没有文件系统支持插入模式。

用于写入文件流的 C 语义是:

  • 截断"w". 成功后当前文件内容丢失fopen()
  • 覆盖文件内容"r+"。只有显式写入文件的字节会覆盖现有内容,其余内容不变。超出文件末尾的写入将扩展其大小,就像追加模式一样。
  • 附加到文件中"a"。每个写操作都发生在文件末尾。

请注意,如果文件不存在"w",也会创建该文件。"a"

为了在现有文件的中间插入内容,您必须将内容复制到新文件,将新内容写入适当的位置。您可以在关闭两者并删除旧文件后将新文件重命名为旧名称。

于 2016-01-03T16:55:15.860 回答
1

取决于你如何打开它:

追加:

fopen("myfile.txt", "a");

写入(覆盖):

fopen("myfile.txt", "w");
于 2016-01-03T16:53:50.840 回答