2
以下代碼在使用mingw的代碼塊中正常工作,但在Visual Studio中失敗。爲什麼?Visual Studio中fstream指針的問題
fstream* __fstreamm = new fstream();
string _fileName="testing.log";
__fstreamm->open(_fileName.c_str(), std::fstream::in | std::fstream::out);
if(__fstreamm->fail())
{
__fstreamm->open(_fileName.c_str(), std::fstream::trunc | std::fstream::out);
__fstreamm->close();
// re-open with original flags
__fstreamm->open(_fileName.c_str(), std::fstream::in | std::fstream::out);
}
__fstreamm->seekp(0, ios::end);
*__fstreamm << "SSSSSSSSSTTTTTTTAAAAAAAAAARRRRRRRRRRRRTTTTTTTTTTT"<<std::endl;
__fstreamm->flush();
使用代碼塊時創建並寫入文件,但使用vs2008文件時創建但未寫入。
首先以雙下劃線開頭的變量名被保留用於實現並且不被使用。第二,你爲什麼首先做一個'fstream *'? – NathanOliver
'fstream * __fstreamm = new fstream();'這幾乎是不對的, – SergeyA
我使用fstream *因爲我正在實現一個fstreams數組來寫入另一段代碼。在這個例子中,它是不重要的 – Starfish