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