在用Visual Studio中的一個簡單的C++應用程序2008年我寫了下面的代碼處理命令行參數時,我有一個問題:2字節表示2008年
#include <iostream>
using namespace std;
int _tmain(int argc, char **argv)
{
char* c = *argv;
for(int i=0; i< argc ; ++i)
{
cout << argv[i] << endl;
}
int a;
cin >> a;
return 0;
}
我的問題只有每個命令行參數的第一個字符被寫入cout
。
我確定原因是命令行參數中的字符表示爲2個字節,因此每個其他1個字節只包含0,即'\ 0'。
我的問題是,爲什麼會發生這種情況?從我在網上的樣品中發現它應該如我寫的那樣工作。另外,有沒有辦法強制參數中的字符是1字節表示?
我希望我的問題很清楚。
'_tmain'的簽名是'int _tmain(int argc,TCHAR ** argv)' –