遇到这样的问题需要将std:string类型转为LPCSTR类型。 标准库的std::string转换成LPCSTR很简单:直接调用c_str()即可。例: std::string a="abc"; LPCSTR str = a.c_str(); 还有一种情况是wstring 标准库还有一个wstring,代表宽字符的string,std::wstring转换成LPCWSTR也一样很简单: std::wstring a = L"ab...
CString StdStr2CSting(conststd::string&stdStr ) { returnMBCS2CString(stdStr.c_str()); } #include<string> using namespace std; //将string转换成wstring wstring string2wstring(string str) { wstring result; //获取缓冲区大小,并申请空间,缓冲区大小按字符计算 int len = MultiByteToWideChar(CP_ACP...
CString、LPSTR、std::string、LPCSTR之间的转换 LPSTR WideChar2MBCS(constCString& strCS ) { constUINT wLen = strCS.GetLength() + 1; UINT aLen = WideCharToMultiByte(CP_ACP,0,strCS,wLen,NULL,0,NULL,NULL); LPSTR lpa =newchar[aLen]; WideCharToMultiByte(CP_ACP,0,strCS,wLen,lpa,aLen,NULL,NUL...
str.c_str()给您一个const char *,这是LPCSTR(常量STRing的长指针)-表示它是指向0终止字符串的...
CString StdStr2CSting(conststd::string&stdStr ) { returnMBCS2CString(stdStr.c_str()); } #include<string> using namespace std; //将string转换成wstring wstring string2wstring(string str) { wstring result; //获取缓冲区大小,并申请空间,缓冲区大小按字符计算 ...
std::string newString("wibble"); LPCTSTR oldString = newString.c_str(); then pass in to your method. Apr 3, 2013 at 11:34pm VladislavTepes (3) I found this! MyString.c_str(); Apr 3, 2013 at 11:34pm mutexe (2372) exactly. Apr...
str.c_str()提供了一个const char *,这是一个LPCSTR(指向常量string的长指针) --这意味着它是指向...
在上面的类型中,L表示long, P表示指针,C表示constant, T表示指针指向的字符占的字节数取决于Unicode是否定义,W表示wide,STR就是string的意思 LPSTR = char * LPCSTR = const char * LPTSTR = _TCHAR * (或 TCHAR *) LPCTSTR = const _TCHAR * (或 const TCHAR *) ...
LPCSTRGetString(){std::stringtmp("temporary");returntmp.c_str(); } The buffer returned by.c_str()is owned by thestd::stringinstance and will only be valid until the string is next modified or destroyed. To convert astd::stringto aLPWSTRis more complicated. Wanting anLPWSTRimplies that ...
String是C++的标准字符串,需要string(不带.h)头文件和std名字空间支持。 CString是M$为MFC设计的字符串,功能更加强大,而且这玩意儿是安全的。需要atlstr.h文件和MFC DLL的支持。不过目前已经有人将此类型从MFC中分离~ 为了增强程序的通用性,还必须注意以下几点: ...