前言(可跳过)
在进行大型文件的读写操作时,若采用读打开文件a,再将“a中修改删除位置之前的内容+修改删除的内容+a中修改删除位置之后的内容”保存到文件b,关闭并删除文件a,将文件b改名为与文件a同名的简单办法,即使结果同修改指定位置的数据的方式相同,但程序所占时间片和内存空间都会难以想象的巨大。
作为一个优秀的程序员,这种掩耳盗铃的办法根本不是应该采取的办法,采用追加写入然后替换源文件的方式根本不能代替对指定位置局部修改的功能,我们必须直面问题,怎么将数据写入指定位置,这不是PTA黑盒测试,不能只关注结果。纵使结果相同,但只要实现方式不正确,问题就还没解决。
然而,我查看许多平台上许多相似提问的回答,大多人都采用一些代替方法来解决问题,这并不值得苛责,闻道有先后,术业有专攻,每个程序员都有他们自己不会的内容,这很正常,甚至我的水平比看这篇文章的大多数人都要来得差。但问题是,知之为知之,不知为不知,不会就是不会,不会就不要自负地觉得自己的办法是唯一的办法。有的人只会那些代替办法,还信誓旦旦说没有更好的办法了,我之前差点就以为只有这些替代办法了,没有办法直接对指定文件进行修改。承认自己能力不足很难吗,可能对某些人来说很难,但是不管怎么说,自己能力不足不愿听取他人意见还自负地去误人子弟是不对的。
当然,我也能力也远远不足,以下我所采用的办法也不是最好的办法,就权当我抱砖引玉,希望我的方法能对各位读者有所启发。
具体需求
不同的人有不同的需求,我是在处理二进制文
更多推荐
C语言实现文件的局部修改,C语言:在文件的指定位置实现局部修改,而无需重写文件的其他部分...
发布评论