工程用Unicode编码
MFC调用底层接口,底层需要传入char*,要将Cstring转成char*:
Cstring tmpStr;
USES_CONVERSION;
char* needstr = T2A(tmpStr);
char* 转成Cstring,直接转就行:
char* tmpStr;
Cstring needstr(tmpStr);
常量字符串转成Cstring,用_T():
Cstring needstr(_T("常量字符串"));
std::string转成Cstring:
std::string tmpStr;
Cstring needstr(tmpStr.c_str());
C string转成std::string,在网上看到这种:
Cstring tmpStr;
std::string needstr((LPSTR)(LPCTSTR)tmpStr);
转之后,needstr只有首字符,其他的都没了
最后还是用Cstring转char*,在赋给std::string