0
我一直在爲此奮鬥了很長一段時間,它可能是完全愚蠢的(通常情況下,當你看你的代碼太長時間^^),但我無法弄清楚。沒有寫在我的文件中
所以我有一堆,我希望寫入文件和下面的代碼:
outfileMatrix = new ofstream(path+to_string(trialI)+".csv");
outfileEvents = new ofstream(path+to_string(trialI)+"events.csv");
outfileMeta = new ofstream(path+to_string(trialI)+"meta.csv");
//...
vector<string> v = getTimeHistory();
*outfileEvents << "Subject ID ; " << "TrialIndex ; " << "Timestamp ;" << "Action ID ; " << "Duration ;" << endl ;
for(std::vector<string>::size_type i = 0; i!=v.size(); i++) {
cout << "Coucou" << endl ;
*outfileEvents << subjectID << " ; " << trialInd << " ; " << v.at(i);
cout << subjectID << " ; " << v.at(i) << endl ;
}
//...
vector<string> w = getMatrixHistory();
for(std::vector<string>::size_type i = 0; i!=w.size(); i++) {
*outfileMatrix << subjectID << " ; " << trialInd << " ; " << w.at(i) << endl ;
}
輸出我得到的將是在標準輸出就好了(即COUT工作得很好),但我outfileEvents
只包含我用作標題的第一行。在for循環中應該添加的所有內容都不是。現在我已經檢查了v的大小,它大於0,並且無論如何,cout
將數據打印得很好,以便它通過for
循環,這只是數據未添加到文件中。
我將非常感謝您能提供的幫助。
你是否檢查過流['is_open()'](http://en.cppreference.com/w/cpp/io/basic_ofstream/is_open)? – NathanOliver
我沒有足夠的時間檢查,但你關閉了你的流? – zwlayer
當你完成它們時,你是否「刪除」這些流?否則,數據可能永遠不會寫入文件。 –