fprintf函数输入时是否会覆盖文件中原有内容?

fprintf函数输入时是否会覆盖文件中原有内容?,第1张

是否覆盖要看你fopen时是采用什么方式的\r\nfopen(file , "r") 读方式打开,写会报错!\r\nfopen(file , "w") 写方式打开,整个文件会被直接重新写,以前文件的数据全丢失。\r\nfopen( file , "a" ) 追加方式打开,写入数据时,是追加到瞎衫文件尾,不会影响原文件中的数据\r\nfopen( file ,"r+") \r\n"r+" "a+" "w+" 等方式打开为读写模式,这时银神誉,写数据前,要先定位文件指针,如果想改动文件锋段中的内容,则写入的数据长度与要覆盖的数据长度要一致才可以,不然会造成数据覆盖或数据完整性错误!

在一个已有文件中插入新的字符并不能直接实现,不管是用fprintf还是别的什么方法。

假设在已有文件的某处需要插入内容B,设插入点之前的内容为A,插入点之后的内容(原有内容,不含待插入的)为C。这里A、B、C都代表闭物轿任意长度的字符序列蚂腊。

你必须这样做:

1、打开原有文件。然后创建一个新文件。

2、读出原有文件中内容A。

3、将A写入新文件。

4、将B写入新文件。

5、读出原有文件中内容C。

6、将C写入轿肆新文件。

7、关闭两个文件。

8、删除原有文件。

9、将新文件改名为原有文件。

babybubble:你那种方法只能覆盖原有内容。可别误导别人啊!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12264899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存