2016-11-22 38 views
0

這是我的代碼。我有一個緩衝區來保存輸出,但它返回數字。有人可以解釋這一點,我將如何能夠得到我的exe文件?試圖使用GetModuleFileName來查找exec文件,但返回數字

wchar_t buffer[MAX_PATH]; 
GetModuleFileName(NULL,buffer,sizeof(buffer)); 
cout << buffer << "\n"; 
+1

修復:'wcout <<緩衝<< L 「\ n」' –

+0

可能的複製[我如何將wchar \ _t值打印到控制檯?](http://stackoverflow.com/questions/2493785/how-i-can-print-the-wchar-t-values-to-console) –

回答

1

cout是ansi版本的控制檯輸出。你必須使用寬版COUT的:wcout:

wchar_t buffer[MAX_PATH]; 
GetModuleFileName(NULL,buffer,sizeof(buffer)); 
wcout << buffer << "\n"; 

或者使用一切的ANSI版本:

char buffer[MAX_PATH]; 
GetModuleFileNameA(NULL,buffer,sizeof(buffer)); 
cout << buffer << "\n"; 
+0

I在GetModuleFileNameA中忘了A,謝謝。 – Nakruf