如何在 C++ 中编辑文本文件的特定行?假设我想打开一个文件并将焦点或指针或其调用的任何内容更改为第 17 行第 20 列。这样我就可以在第 17 行第 20 列之后编辑文本。
我试过了,但是没用。
ofstream txtFile("textFile.txt");
fseek(txtFile, 17, 20);
txtFile << "New stuff to enter at this point (overwrites old not insert)";
我该怎么做?
最佳答案
fseek
不是在寻找计数行,而是在寻找字节。您指示程序的不是将指针定位在第 17 行的第 20 列,而是定位在文件的第 17 + 20 = 37 个字节。
该函数的第一个参数是原点,即从您计算的原点开始的字节数,第二个参数是您还偏移了多少。
参见 reference fseek
的。
我不知道有任何库可以在 C++ 中对行和列进行字节定位。您可能需要使用更高级别的函数并逐行解析(例如,如果您寻求 C++ 解决方案,则使用 getline
)。
关于c++ - 如何使用 C++ 编辑文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13219013/