在VC編程中,經(jīng)常會(huì)遇到字符串之間的轉(zhuǎn)換,本文就LPTSTR轉(zhuǎn)換為std::string進(jìn)行探討。
在unicode環(huán)境下,LPTSTR表示寬字符
有兩種方法
原文參考自web開發(fā)網(wǎng):http://www.software8.co/wzjs/cpp/3617.html
1、
LPTSTR sddd = _T("ddddd");
char *ansiRemoteHost = new char[wcslen(sddd)*2+1];
memset(ansiRemoteHost,0,255);
WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,sddd,wcslen(sddd)
,ansiRemoteHost,wcslen(sddd),NULL,NULL);
string sddddd = string(ansiRemoteHost);
2、
LPTSTR sddd = _T("ddddd");
CString sChar = CString(sddd);
USES_CONVERSION;
string sddddd = string(T2A(sChar));
當(dāng)然,環(huán)境不同,轉(zhuǎn)換的方法也就不一樣。