C++ QTextStream人工繁殖
我正在打开一个文件并获取它的QTextStream。然后,我使用readLine()逐行读取流。当该行与某个字符串匹配时,我需要将其替换为另一个字符串。我需要的行为是,该行被完全替换(即,如果该行是“longword”,我将其替换为“word”,则该行应仅包含“word”和“word”)C++ QTextStream人工繁殖,c++,qt,qtextstream,C++,Qt,Qtextstream,我正在打开一个文件并获取它的QTextStream。然后,我使用readLine()逐行读取流。当该行与某个字符串匹配时,我需要将其替换为另一个字符串。我需要的行为是,该行被完全替换(即,如果该行是“longword”,我将其替换为“word”,则该行应仅包含“word”和“word”) 目前我正在使用seek()和,据我所知,您不能简单地将文本文件的一块删除到位。如果替换字符串的大小相同,则可以替换那些精确的字节;如果替换字符串的长度较短,则可以通过将空空间填充为null来解决问题 如果不想这
目前我正在使用seek()和,据我所知,您不能简单地将文本文件的一块删除到位。如果替换字符串的大小相同,则可以替换那些精确的字节;如果替换字符串的长度较短,则可以通过将空空间填充为null来解决问题 如果不想这样做,则必须创建一个新文件,从旧文件中读取每一行,在内存中对该行进行任何必要的更改,然后将该行写入新文件。完成后,您可以用新文件替换原始文件 如果可以在文件中添加/删除块,您很可能会在硬盘上留下一个相当零碎的文件。如果需要插入更多字符,则必须创建额外的片段,因为新数据无法容纳旧数据占用的空间量,删除数据会在文件中留下漏洞