gpt4 book ai didi

c - 替换文本文档中的行的最有效方法?

转载 作者:行者123 更新时间:2023-11-30 15:12:09 25 4
gpt4 key购买 nike

我正在学习用 C 在 Unix 中编码。到目前为止,我已经编写了代码来查找我想要替换的行的第一个字节的索引。问题在于,有时替换该行的字节数可能大于该行上已有的字节数。在这种情况下,代码开始覆盖下一行。我想出了两个标准解决方案:

a)我可以将整个文件复制到内存中,通过在必要时移动所有字节来编辑它,然后将其重写回文件,而不是尝试就地编辑文件。

b) 仅将我想要在文件末尾的行复制到内存并进行编辑。

这两个建议都不能很好地扩展。我不想对行大小施加任何限制(比如每行必须是 50 字节或其他)。有什么有效的方法可以进行线路更换吗?任何帮助将不胜感激。

最佳答案

将文件的第一部分复制到新文件(无需将其全部读入内存)。然后,编写该行的新版本。最后,复制文件的最后部分。交换文件并完成。

关于c - 替换文本文档中的行的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35236231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com