关于 控制台命令行解析,该怎么解决
关于 控制台命令行解析
我写了一个程序,win32 控制台程序,需要输入参数,然后写了一个解析命令行的功能,但是测试的时候报错,
所以 我写了一个最简单的例子试一下,出现以下情况,求解:
#include "stdafx.h"
#include <iostream>
using std::cout;
using std::endl;
int _tmain(int argc, _TCHAR* argv[])
{ cout<< argc <<endl;
cout<< argv[0]<<endl;
cout<< argv[1]<<endl;
cout<< argv[2]<<endl;
return 0;
}
在cmd中 输入 parseCMD.exe a b c
输出结果是 4
00556F94
00552CD6
00432C52
试了几次 除了argc 是对的 后面 3个都好像是随机数 为啥?
------解决方案--------------------
win32控制台程序,参数要用ANSI字符集的,不能用TCHAR那些
int main(int argc, char* argv[])
------解决方案--------------------
设置多字节字符集,进入“项目->属性->常规->字符集”,选择多字节字符集,如果选择Unicode字符集的话用std::wcout
我写了一个程序,win32 控制台程序,需要输入参数,然后写了一个解析命令行的功能,但是测试的时候报错,
所以 我写了一个最简单的例子试一下,出现以下情况,求解:
#include "stdafx.h"
#include <iostream>
using std::cout;
using std::endl;
int _tmain(int argc, _TCHAR* argv[])
{ cout<< argc <<endl;
cout<< argv[0]<<endl;
cout<< argv[1]<<endl;
cout<< argv[2]<<endl;
return 0;
}
在cmd中 输入 parseCMD.exe a b c
输出结果是 4
00556F94
00552CD6
00432C52
试了几次 除了argc 是对的 后面 3个都好像是随机数 为啥?
------解决方案--------------------
win32控制台程序,参数要用ANSI字符集的,不能用TCHAR那些
int main(int argc, char* argv[])
------解决方案--------------------
设置多字节字符集,进入“项目->属性->常规->字符集”,选择多字节字符集,如果选择Unicode字符集的话用std::wcout