VS2010如何处理命令行参数

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只能得到第一个字符

VS2010如何处理命令行参数_第1张图片



你可能感兴趣的:(VS2010如何处理命令行参数)