0
下面的代碼完全符合它應有的一個例外。修改後的緩衝區內容不會保存到文件中。我已經完成了代碼,我可以看到緩衝區正在改變,所以我不確定發生了什麼。任何意見將不勝感激。需要一些幫助,瞭解爲什麼wifstream緩衝區不會被保存迴文件
bool replacestring(char *ifile, wstring& searchString, wstring& replacementString)
{
wstring buffer;
wifstream finout(ifile, ios_base::in | ios_base::out | ios_base::binary);
if(!finout.is_open())
{
cout << "Can not open file " << endl;
return(1);
}
while(getline(finout,buffer))
{
auto pos = buffer.find(searchString) ;
while(pos != std::string::npos)
{
buffer.replace(pos, searchString.size(), replacementString) ;
pos = buffer.find(searchString, pos + replacementString.size()) ;
}
if(finout.bad())
perror("BAD READ");
}
finout.close();
return 0;
}