【问题标题】:Inserting text in a file instead of overwriting in c在文件中插入文本而不是在 c 中覆盖
【发布时间】:2016-04-16 13:39:10
【问题描述】:

如何使用 C 在文件中插入字符而不是覆盖?我也想写在文件的开头和文件的结尾。我试过this method,但没有成功(我可以重新定位但我不能插入。文本被覆盖)

我试过了,但是没用:

fword = fopen("wrote.txt", "rb+");
fseek(fword, 0, SEEK_SET);
fscanf(fword, "%c", &l);

【问题讨论】:

  • 无法将文本插入文件 afaik。您可以覆盖现有文本或在文件末尾追加。要插入内容,请将文件读入内存,在那里进行更改,然后将所有内容写回。

标签: c file insert


【解决方案1】:

要在末尾添加文本,您可以使用"a" 模式打开文件(查看fopen 手册)。它会将您的文本写入结尾。

要在其他位置添加文本,您必须将之后的所有内容读入内存,写下您想要的内容,然后再写下其余部分。

【讨论】:

    【解决方案2】:

    文件是字节流的抽象,不存在插入字节流的概念,你可以寻找到某个地方写入数据。您写入的字节将作为字节数组存放在文件中,如果写入超出当前文件大小,则文件将被扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 2020-03-28
      • 1970-01-01
      • 2011-05-08
      • 2012-05-11
      • 2012-04-15
      • 1970-01-01
      相关资源
      最近更新 更多