2014-02-19 48 views
0

我正在用C++編寫一個小程序,它創建一個.exe,然後通過在cmd中調用它來運行.exe。我希望能夠將.exe的輸出顯示到我從中運行的cmd中。我目前有這個代碼,它打開一個新的cmd窗口來顯示接近但不是我想要的輸出。任何幫助,這將是偉大的!謝謝。從.exe輸出到cmd

AllocConsole(); 
DWORD NumberOfBytesWritten = 0; 
WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), strLog1, lstrlen(strLog1), &NumberOfBytesWritten, 0); 

更新: 我也能寫調用程序時,在命令窗口中使用dir > log.txt一個文本文件,是有辦法,我可以改變這個,使之指向輸出到控制檯窗口?謝謝,

回答

1

我的心理調試能力告訴我你的構建工具被配置爲在GUI而不是控制檯模式下創建你的應用程序。

如果您重新配置構建以使其生成控制檯模式應用程序,則不需要撥打AllocConsole或執行任何特殊操作;您將自動分配到父進程的控制檯。

+0

推出的窗口你沒有錯,它的一個贏得應用程序!我馬上將它轉換爲控制檯應用程序,因爲我無法看到它是一個贏得應用程序的任何理由。看起來像最簡單的事情:) – Mike

0

你嘗試簡單的操作,如:

std::cout << "Print me" ; 

std::cerr << "Print me too"; 

(我希望我的理解正確,你要打印到同一個控制檯,你開始你的應用程序)

+0

是的,我試過這些,可悲的是它什麼也沒有做 – Mike