MFC默认编码是unicode(自己改成多字符集是不行的),对话框中对字符串的处理都是宽字符,而且添加变量会默认是CString类型,当你代码中想用string但又遇到必须转为CString的情况,就需要做个转换(比如你代码定义的是string,想要直接给对话框中的变量赋值)。
当然直接定义CString而不用string不就好了嘛?当然可以,这个只介绍转换的方法。
1. CString 转 string
USES_CONVERSION; CString cstr; string str; str = W2A(cstr);
2. string 转 CString
CString cstr; string str; cstr = str.c_str();