难道只能把原来需要修改的内容移到一个新的地方,操作结束然后修改名字?

我建立一个.dbf的文件,写了一些二进制数据。我在编写一个程序,用以修改那个原来建立的.dbf文件,我用fseek()函数定位,发现无论怎么写,他都是直接定位fp在原来二进制文件(dbf)的末尾,用fseek也不能向前移动,那么应该怎么修改原来的文件内容呢?也就是说原来的文件用ab+方式打开,会受到“保护”?文件类型指针不能指向原来的文件内容?不能修改?

aluckdog
浏览 68回答 2
2回答

白猪掌柜的

文件用ab+方式打开,a的意思就是追加,声明原内容不会变化。如果要修改原有内容,应该以wb+方式打开,这种方式,是包含了a的,也就是,可以向末尾追加内容。

HUX布斯

我记得ab+是用于读取文件和仅在文件末尾新增内容的,前面的数据确实会受到保护。如果想修改之前的内容,请使用wb(只写)或wb+(可读可写)
打开App,查看更多内容
随时随地看视频慕课网APP