在文件中插入文本而不是在c中覆盖

在文件中插入文本而不是在c中覆盖,c,file,insert,C,File,Insert,如何使用C在文件中插入字符而不是覆盖?我还想写在文件的开头和结尾。我尝试了,但没有成功(我可以重新定位,但无法插入。文本被覆盖) 我试过这个,但没用: fword = fopen("wrote.txt", "rb+"); fseek(fword, 0, SEEK_SET); fscanf(fword, "%c", &l); 要在末尾添加文本,可以使用“a”模式打开文件(查看手册)。它会把你的文字写到结尾 要在其他位置添加文本,您必须将之后的所有内容读取到内存中,写下所需内容,然后再写下

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

我试过这个,但没用:

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

要在末尾添加文本,可以使用
“a”
模式打开文件(查看手册)。它会把你的文字写到结尾


要在其他位置添加文本,您必须将之后的所有内容读取到内存中,写下所需内容,然后再写下其余内容

文件是字节流的抽象,在字节流中没有插入这样的概念,您可以在某个地方查找并在那里写入数据。您写入的字节将以字节数组的形式存储在文件中,如果写入超过当前文件大小,则文件将被扩展。

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