C语言中,打开一个文本文件,修改其中一行,除了全部载入内存,修改后全部重新写盘,有没有更快的方法

2025-04-09 02:45:08
推荐回答(4个)
回答1:

分情况不同而不同。
1、如果修改后的行长度与修改前相同,则只需前移文件读/写指针,到位后将新内容写入即可。
2、如果修改后的行长度比修改前短,可将空余部分用'\n'填满,这在字符串时是可以甄别的。
3、如果修改后的行长度比修改前长,长出的部分无法安排,故只能将该文件从被修改行开始先存入内存,修改后再覆盖。

回答2:

没有其它方法!因为这与计算机运行原理有关。

回答3:

可以用mmap

回答4:

没有的