使用wfstream我正在尝试编写一些处理过的内容,从文件中删除旧内容。
wfstream cSrcFileOutput(m_cstrFile);
wfstream cSrcFileInput(m_cstrFile);
std::wstring cstrSrcFileContent;
....
cstrSrcFileContent有我的内容
我写的如下:
cSrcFileOutput.write(cstrSrcFileContent.c_str(), cstrSrcFileContent.size()*sizeof(wchar_t));
问题是它没有清除以前的数据。相反,它会在文件中的某处插入已处理的内容。
我希望将旧内容替换为新处理的内容。
请建议。
答案 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).