2011-05-05 98 views
1

命令行參數在每個字符後都有空值假設我從命令提示符調用程序,如「abc.exe測試數據」,那麼在內存中每個字符後面都有一個空格,數據是「測試.data「是什麼問題。 這是打印t只有第一個字符不是完整的字符串「測試」 是什麼問題。 012fint _tmain(int argc,_TCHAR * argv []) { printf(「Argc%d%s」,argc,argv [1]); return 0; }在VC++ 2010中的命令行參數

回答

3

您正在使用Unicode編碼(見_tmain_tchar_t前綴)。 此編碼存儲2個字節的字符。

因此,您應該使用_tprintf而不是printf

+0

如果您堅持使用printf(),則可以使用%S格式說明符輸出WCHAR。正確的方法是@海恩德爾所說的。 – Grim 2011-05-05 08:49:53

+0

感謝您的幫助 – user693168 2011-05-05 12:57:30