std::string 转cString
时间: 2023-11-17 19:06:29 浏览: 212
Cstring与其他类型的转换
3星 · 编辑精心推荐
可以使用Unicode将std::string字符串转换为CString字符串。具体实现方法可以参考以下代码:
```
CString CMyApp::TranslatestringToCStringByUnicode(IN const string& strSource) {
CString strResult = _T("");
strResult = strSource.c_str();
return strResult;
}
```
其中,strSource为需要转换的std::string字符串,strResult为转换后的CString字符串。
另外,如果需要将CString字符串转换为std::string字符串,也可以使用以下代码实现:
```
string CMyApp::TranslateCStringTostringByUnicode(IN CString& strSource) {
int nSourceLen = strSource.GetLength();
int nSourceBytes = WideCharToMultiByte(CP_ACP, 0, strSource, nSourceLen, NULL, 0, NULL, NULL);
char* chrTemp = new char[nSourceBytes + 1];
memset(chrTemp, 0, nSourceBytes + 1);
WideCharToMultiByte(CP_OEMCP, 0, strSource, nSourceLen, chrTemp, nSourceBytes, NULL, NULL);
chrTemp[nSourceBytes] = 0;
std::string strResult = chrTemp;
delete[] chrTemp;
return strResult;
}
```
阅读全文