2013-04-27 104 views
0
FILE* logfile; 

freopen_s(&logfile, "log.txt", "w", stdout); 

printf("test"); 

fclose(stdout); 

Im有一個Visual Studio的奇怪問題。當我在控制檯應用程序中執行上述代碼時,日誌文件被寫入正常。但是,當我在Win應用程序中執行代碼時,日誌文件始終爲空。重定向標準輸出到文件不工作

有誰知道我在做什麼錯?

+1

該代碼看起來不錯,所以我會說問題是你如何啓動窗口的應用程序。您也應該包含該代碼。 – 2013-04-27 01:46:47

回答

0

Windows程序沒有附加控制檯。因此,任何流IO到標準輸出都不起作用。您可以通過SUBSYSTEM開關將應用程序轉換爲控制檯應用程序,也可以通過SetStdHandle函數將句柄分配給stdout。

+0

啊我明白了。 SetStdHandle似乎是要走的路。謝謝。 – 2013-04-27 01:58:08