gpt4 book ai didi

C++ :How to navigate to a particular line in a file while writing in a file?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:42:20 25 4
gpt4 key购买 nike

程序(在 C++ 中)必须按顺序在文件中写入文本。但有时需要在特定的行号上写一些东西。有没有一种方法可以导航到特定的行号而不遍历整个文件,如果有,它的复杂性是什么?有没有类似fseek的东西?

最佳答案

除非你的文件是定长记录,否则没有快速定位一行的方法。

对于可变长度的文本行,您必须读取每个字符以确定它是否是行结束字符。如果是,则增加行号。

如果您需要经常按行号访问行,您可能需要构建一个包含<行号,文件位置>记录的表。您只需要执行一次。

编辑 1:
您可以在创建文件时构建行位置表。在写入文本行之前,读取并存储文件位置。

顺便说一句,您可以覆盖文件中的文本,但不能将文本插入文件(追加除外)。要插入文本,您必须先将所有原始数据写入新文件,写入新文本,然后写入所有剩余文本。

关于C++ :How to navigate to a particular line in a file while writing in a file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28422631/

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