您的位置首页生活百科

c++ 用GetCommandLine() 获取命令行参数中文乱码

c++ 用GetCommandLine() 获取命令行参数中文乱码

的有关信息介绍如下:

c++ 用GetCommandLine() 获取命令行参数中文乱码

// 注卜桥枯型洞意这个函数不支持中文,因为没有将GBK编码转UTF,网上找GBKtoUTF8string GBKToUTF8(const std::string& strGBK){ string strOutUTF8 = ""消羡; WCHAR * str1; int n = MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, NULL, 0); str1 = new WCHAR[n]; MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, str1, n); n = WideCharToMultiByte(CP_UTF8, 0, str1, -1, NULL, 0, NULL, NULL); char * str2 = new char[n]; WideCharToMultiByte(CP_UTF8, 0, str1, -1, str2, n, NULL, NULL); strOutUTF8 = str2; delete[]str1; str1 = NULL; delete[]str2; str2 = NULL; return strOutUTF8;}