DeleteFile()参数

 window API  DeleteFile()参数

C++ string 转化为LPCTSTR

 

 

LPCTSTR不是一个类型,而是两种类型:LPCSTRLPCWSTR其中之一。会根据你当前程序是否使用UNICODE字符集来变成那二者之一。如果使用UNICODE字符集,则LPCTSTR = LPCWSTR,否则LPCTSTR = LPCSTR。

 

标准库的std::string转换成LPCSTR很简单:直接调用c_str()即可。例:

std::string a="abc";

LPCSTR str = a.c_str();

 

标准库还有一个wstring,代表宽字符的stringstd::wstring转换成LPCWSTR也一样很简单:

std::wstring a = L"abc";

LPCWSTR str = a.c_str();

 

如果要是std::string转换成LPCWSTR或者std::wstring转换成LPCSTR那就比较麻烦了,需要调用MultiByteToWideCharWideCharToMultiByte进行字符集之间的转换。不过大多数时候不需要这种交叉转换,一个程序一般只会使用一种字符集。

 

源文档 <http://zhidao.baidu.com/link?url=PDCjNnWyv7QNCUc1TPrxmgBB0C3r2x5DVNbcbjTlJj0LAliXXptxFvnMAE9XAtCIES7InbuBNsCUf5wE5VRvoq>

原文地址:https://www.cnblogs.com/MATU/p/3740839.html