LPTSTR转换为std::string方法探索

在VC编程中,经常会遇到字符串之间的转换,本文就LPTSTR转换为std::string进行探讨。

在unicode环境下,LPTSTR表示宽字符

有两种方法

1、

LPTSTR sddd = _T("ddddd");
  char *ansiRemoteHost = new char[wcslen(sddd)*2+1];
  memset(ansiRemoteHost,0,wcslen(sddd)*2+1);
  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));

 

当然,环境不同,转换的方法也就不一样。

你可能感兴趣的:(LPTSTR转换为std::string方法探索)