作者ntueestudent (bluesky)
看板EE_DSnP
標題[問題] 關於存檔的問題
時間Sun Jan 20 13:00:58 2008
不知道為什麼
我一按存檔鍵我要存的檔就被清空了= =
這是我的code:
void saveFile()
{
fout.open(fileName); //一到這行就被清空.....
if(!fout)
{
sstr << "No file is opened." << '\n';
print();
}
else
{
fout << ssbuffer.str();
ssbuffer.str(""); // 清空ssbuffer
sstr << "File is now saved." << '\n';
print();
}
}
補充︰ ofstream fout
stringstream ssbuffer (這是拿來存所有edit內容的)
(我確定裡面真的有東西)
char fileName[100]
另外
我寫了個小程式來測試:
int main()
{
char filename[10];
cin >> filename;
ofstream fout;
fout.open(filename);
if ( !fout )
{
cerr << "File could not be opened" << endl;
exit( 1 );
}
cout << "Enter the text you want to input." << endl;
string str;
stringstream sstr,sstr2;
cin >> str ;
sstr << str ;
fout << sstr.str();
system("pause");
return 0;
}
這是OK的!!
順便問一下
我的fileName 第一次輸入是成功的
可是第二次以後就不行了
這是為什麼??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.121.99.48
※ 編輯: ntueestudent 來自: 122.121.99.48 (01/20 13:10)
1F:→ ntueestudent:fileName的問題解決了~不過誰能告訴我為什麼ssbuffer 01/20 16:38
2F:→ ntueestudent:存進去什麼都沒有阿> < 01/20 16:40
3F:→ keyboardle:請問在你saveFile()下方的]是本來就這樣嗎= = 01/20 18:29
4F:→ ntueestudent:沒有啦~不小心打錯而已 01/20 19:26
※ 編輯: ntueestudent 來自: 218.168.96.236 (01/20 19:29)
5F:推 timrau:Try to add ssbuffer.clear() before ssbuffer.str("") 01/20 20:56
6F:→ ntueestudent:可以了^^ 感謝樓上大大~~ 不過為什麼阿??? 01/20 21:46
7F:推 timrau:清掉一些指示"這個stringstream不能再被用"的flag 01/20 22:10