在用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)' –