MFC中 CString转换为char
网上好多方法,比如强制转换:
CString strTest = _T(“abcd”);
char *buf = (LPSTR)(LPCTSTR)strTest;
可是都只得到了第一个字符。
后来,找到了原因。因为我的工程是基于UNICODE的,这样直接强制转换是不行的。
给出了下面两种方法,我试了方法二,能解决问题:
方法一:
可以用API:WideCharToMultiByte进行转换
方法二:
添加文件#include <afxpriv.h>
CString strTest = _T("abcd");
USES_CONVERSION;
LPSTR = T2A(strTest);