下面的代碼將打印的東西到一個文件fstream的將不打印到文件
std::fstream fout ("D_addr.txt", std::fstream::app);
fout << pkt->Addr() << std::endl;
flush(fout);
fout.close();
調試時,我看着pkt->Addr()
,它具有一定的價值。 fout
行被傳遞沒有問題。還創建了文件D_addr.txt
。但關閉文件後,文件大小爲零!沒有寫任何東西。
問題在哪裏?
什麼是pkt->地址()的返回類型? – 2012-02-23 09:30:37
它是'typedef uint64_t Addr;' – mahmood 2012-02-23 09:32:32
嘗試檢查流狀態。如果文件無法打開,構造函數會設置'failbit'。您可以使用'fstream :: good'來檢查流是否已準備好進行I/O操作。 – 2012-02-23 09:47:57