LPSTR

LPSTR

LPSTR和LPWSTR是Win32VC++所使用的一種字元串數據類型。LPSTR被定義成是一個指向以NULL(‘\0’)結尾的32位ANSI字元數組指針,而LPWSTR是一個指向以NULL結尾的64位雙位元組字元數組指針。CString與LPSTR轉換。

基本介紹

  • 中文名:指向字元串的長指針
  • 外文名:LPSTR
  • 組合Win32VC++
  • 類型:字元串數據
  • 轉換:CString與LPSTR
英文解釋,中文解釋,轉換,注意事項,

英文解釋

Pointer to a null-terminal string of 8-bit Windows(ANSI) characters.

中文解釋

'L'代表Long,'P'代表Pointer(指針),'STR'表示String。

轉換

CString轉換成LPSTR
1.1 方法一:
CString strFileName;LPSTR lpStr = strFileName.GetBuffer();strFileName.ReleaseBuffer();
1.2 方法二:
CString strFileName;LPSTR lpStr = (LPSTR)(LPCSTR)strFileName;
LPSTR轉換成CString
LPSTR lpStr = _T("TestStr");CString str(lpStr);
注意:CString和LPCSTR可直接轉換,如下:
CString str;LPCSTR lpcStr = (LPCSTR)str;LPSTR在msdn中的定義
typedef LPSTR char * ;
由此可見,LPSTR實際數據類型就是字元指針。

注意事項

VS2012以後版本中默認編碼字元集為Unicode,LPSTR被LPCWSTR取代。幾乎所有之前版本中形參類型為LPSTR的函式都被改成了形參類型為LPCWSTR,比如CreateWindow的第一和第二個形參。
所以在VS2012以後版本中應避免使用LPSTR而改成LPCWSTR。
另外,若是傳入字元串常量必須使用TEXT()宏,否則會報錯為類型不匹配。

相關詞條

熱門詞條

聯絡我們