我有一个文本文件:
123
456
789
我想将“ 456”替换为“ AAA”。我该怎么做?
CStdioFile cfile;
CString line;
cfile.Open(_T("D\\text.txt"), CFile::modeReadWrite);
while (cfile.ReadString(line))
{
if (line == L"456")
cfile.WriteString(L"AAA");
}
最佳答案
仅当新行和旧行的长度相同时,此方法才有效。
您可以保存文件流的当前位置。找回原位置,写新行。
while (cfile.ReadString(line))
{
auto llLine = cfile.GetPosition();
if (line == L"456")
{
cfile.Seek(llLine, CFile::begin);
cfile.WriteString(L"AAA");
}
}
如果行的长度不同,则需要将内容写入新文件,并在进行更改后重命名。
关于c++ - 如何替换文本文件中的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27212929/