写新内容删除旧内容

时间:2016-05-17 10:16:02

标签: c++ c++11 mfc

使用wfstream我正在尝试编写一些处理过的内容,从文件中删除旧内容。

wfstream cSrcFileOutput(m_cstrFile);
wfstream cSrcFileInput(m_cstrFile);
std::wstring cstrSrcFileContent;
....

cstrSrcFileContent有我的内容

我写的如下:

cSrcFileOutput.write(cstrSrcFileContent.c_str(), cstrSrcFileContent.size()*sizeof(wchar_t));

问题是它没有清除以前的数据。相反,它会在文件中的某处插入已处理的内容。

我希望将旧内容替换为新处理的内容。

请建议。

1 个答案:

答案 0 :(得分:0)

When you open the file, you set the mode for how the data should be written to the file through the second parameter to the constructor

std::wfstream cSrcFileOutput(m_cstrFile, std::wfstream::out | std::wfstream::trunc);

where std::wfstream::trunc means overwrite existing contents (see std::basic_fstream::basic_fstream for constructor documentation).