我有一个文本文件:
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");
}
答案 0 :(得分:1)
仅当新旧行具有相同的长度时才有效。
您可以保存文件流的当前位置。回到原来的位置,写下新的一行。
while (cfile.ReadString(line))
{
auto llLine = cfile.GetPosition();
if (line == L"456")
{
cfile.Seek(llLine, CFile::begin);
cfile.WriteString(L"AAA");
}
}
如果行的长度不同,则需要将内容写入新文件,并在进行更改后重命名。