是否覆盖要看你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:你那种方法只能覆盖原有内容。可别误导别人啊!
评论列表(0条)