现在的位置: 首页 > 综合 > 正文

VS2010如何处理命令行参数

2013年12月08日 ⁄ 综合 ⁄ 共 432字 ⁄ 字号 评论关闭
int _tmain(int argc, _TCHAR* argv[])
{
	
	wchar_t *wstr ;
	char *cstr;
	std::vector<std::string> args;
	int i = 1;
	for(;i<argc;i++){
		wstr = argv[i];
		cstr = new char[wcslen(argv[i])+1];
		size_t converted = 0;
		wcstombs_s(&converted,cstr,wcslen(argv[i])+1,wstr,_TRUNCATE);
		args.push_back(std::string(cstr));
	}
	
}

如上可以利用wcatombs_s转为char*

也可以直接更改参数的类型

int _tmain(int argc, char* argv[])
{
	int i = 0;
	for(;i<argc;i++){
		std::cout<<argv[i]<<std::ends;
	}
}

注意需要将字符集类型更改为使用多字节字符集,不然的话每个argv只能得到第一个字符



【上篇】
【下篇】

抱歉!评论已关闭.