std::string 转LPCSTR

来源:互联网 发布:js实现求阶乘n 函数 编辑:程序博客网 时间:2024/05/29 04:38
LPCTSTR不是一个类型,而是两种类型:LPCSTR和LPCWSTR其中之一。会根据你当前程序是否使用UNICODE字符集来变成那二者之一。如果使用UNICODE字符集,则LPCTSTR = LPCWSTR,否则LPCTSTR = LPCSTR。标准库的std::string转换成LPCSTR很简单:直接调用c_str()即可。例:std::string a="abc"; LPCSTR str = a.c_str();标准库还有一个wstring,代表宽字符的string,std::wstring转换成LPCWSTR也一样很简单:std::wstring a = L"abc";LPCWSTR str = a.c_str();如果要是std::string转换成LPCWSTR或者std::wstring转换成LPCSTR那就比较麻烦了,需要调用MultiByteToWideChar或WideCharToMultiByte进行字符集之间的转换。不过大多数时候不需要这种交叉转换,一个程序一般只会使用一种字符集。
原创粉丝点击