我試圖重定向非標準輸出(COUT)到一個文件,用於調試目的標準輸出重定向到一個文件中使用多個線程
std::ofstream traceFile;
traceFile.open("c:/path/file.txt");
std::streambuf* fileBuff = traceFile.rdbuf();
std::cout.rdbuf(fileBuff);
std::cout << std::unitbuff;
std::cout << "disk is written\n";
但是,從一個新的線程中調用COUT使被困在一個互斥體的代碼。 (xmtx.c 39:_Mtxlock())。
你有沒有想法,我該如何解決它?
謝謝
是的,這是愚蠢的,有時在新的線程調用std :: cout之前,ofstream對象超出範圍。我想我需要更多的睡眠。謝謝 – MiniScalope 2010-11-08 12:09:31