複製鏈接
請複製以下鏈接發送給好友

LPSTR

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

LPSTR英文解釋

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

LPSTR中文解釋

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

LPSTR轉換

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實際數據類型就是字符指針。

LPSTR注意事項

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