先贴一段代码
CString pathCS = pathList[0]; 这是一个CString
std::string pathS = UTF8FromUTF16(pathWS); 微软提供了一段代码可以实现wstring转换为string
这几者之间转换难以实现是由字符编码不同导致的,从微软提供的函数名“UTF8FromUTF16”也可以看出这一点。
微软的相关连接为:
http://code.msdn.microsoft.com/windowsdesktop/C-UTF-8-Conversion-Helpers-22c0a664/sourcecode?fileId=45180&pathId=537153831
被这方面的问题折腾的小伙伴可以看一下。
今天被这个问题折腾了三个小时,还是在加班无空调的情况下,特记之。
被大神稍微指导了一下,发现了宝藏,宏命令提供的编码转换方式ATL and MFC String Conversion Macros