使用不同的流可以同時打開兩個文件嗎?我正在嘗試寫入兩個流,其中一個變量文件名在循環迭代時發生變化,另一個文件名具有固定文件名,我寫入的數據將在循環的每次迭代中追加。爲了證明:使用C++的文件I/O同時打開兩個文件
ofstream file_variable_name;
ofstream file_to_be_appended;
{ //THIS IS A LOOP, variable_name changes at every iteration
file_variable_name.open(variable_name.c_str(), ios::out);
file_to_be_appended.open("fixed name", ios::out | ios::app);
//Do lots of things here, make data ready to be written to file
file_variable_name << "write something" << endl;
file_to_be_appended << "write same as above, but this is to be appended" << endl;
file_variable_name.close();
file_to_be_appended.close();
}
不知怎的,我甚至不能設法得到要創建更別說開和追加第二個文件。我可以發送完整的代碼(大約有1000行左右,需要被截斷),但是我認爲上述內容會解釋我正在嘗試做的事情,任何邏輯缺陷都會對專業人員顯而易見。
在此先感謝您的所有建議!
?爲什麼不在循環之外打開它並使用它? – ForEveR 2012-07-14 01:20:56
沒有什麼能夠防止同時打開兩個文件(只要它們是不同的文件)。必須是其他事情。 – 2012-07-14 01:29:50
如果您可以將您的原始程序縮小爲** short **,** complete **樣本程序,並且如果您可以將該程序完整粘貼到您的問題中,這將有所幫助。請參閱http://sscce.org/。瞭解更多信息。 – 2012-07-14 01:35:16