CString装换成const char*有两种情况:
1.字符串为ANSI字符串:
在这种情况下,只需用LPCWSTR GetBuffer(intnMinBufLength)函数将CString类型转换成LPCTSTR类型,ANSI情况下,LPCTSTR 就是 const char*,例如:
CString cstr;
const char* ch = cstr.GetBuffer(sizeof(cstr));
2.字符串为UNICODE字符串:
在这种情况下,在将CString类型转换成LPCTSTR类型后,还需使用ATL的转换宏W2A将LPCTSTR类型装换成const char*类型。注意转换前加上USES_CONVERSION以避免出现编译错误。例如:
CString cstr;
USES_CONVERSION;
const char* ch = W2A(cstr.GetBuffer(sizeof(cstr)));
本文详细介绍了CString装换成const char*的两种情况:对于ANSI字符串,直接使用GetBuffer函数;对于UNICODE字符串,则需先转换为LPCTSTR再使用W2A宏。并提供了实例代码帮助理解。
3870





