LPSTR與PSTR的區別

2021-06-01 21:54:11 字數 644 閱讀 2322

在winnt.h中有如下定義

typedef char char;  

typedef char *lpstr, *pstr;

也就是說lpstr與pstr定義的變數與char *定義的變數完全相同,都可以作為指向字串的指標,而lpstr的字面意思是指向字串的長指標(相對於16位而言),pstr的字面意思是指向字串的指標,但是由於32位的普及,從visual c++ 6.0開始它們完全相同,沒有任何區別,只是由於習慣大家還分別在不同的地方使用它們。

即:lpstr=pstr=char *(完全等同)

[url=../msg4/qa77.shtml]qa000377 "tchar,char,lpstr,lpcstr,char這幾個資料型別有何不同"[/url]

中說過了,lpstr、lpcstr相當於char *,所以這種型別變數的賦值等同於char *的賦值。如果你不了解char *的賦值,你需要去看看c語言入門的書,比如譚浩強的《c語言程式設計》第9章就介紹了這個問題。下面給出兩個例子,乙個是直接賦值,另乙個是間接的。

ex1: lpstr lpstrmsg = "i'm tired.";

ex2: char strmsg="i'm tired.";

lpstr lpstrmsg = (lpstr) strmsg;

LPSTR型別的字串用法

這兩個函式要求輸入的字串必須是lpcwstr型別,這中間必須把char型別轉化為它,才能在視窗顯示你想顯示的內容。不喜歡廢話,上 case wm paint else 更簡單的方法 上面是c庫的函式,不提倡在win32裡面用 int sizenum lstrlenw widechar 1 1是為了去...

C 處理返回為LPSTR的DLL呼叫

1 在vc中我是這麼定義介面函式。int stdcall getgeoinfo double dx,double dy,const char szpath,char field1,char field2,bool v biscache,lpstr pszbackstring lpstr pszbac...

與 的區別? 與 的區別?

相同點 和 都是表示與的邏輯運算子,其運算結果一致 不同點 邏輯與 當兩邊的表示式都為true的時候,整個運算結果才為true,否則為false。短路與 當第乙個表示式的值為false的時候,則不再計算第二個表示式 注意 還可以做位運算子,當表示式不是boolean型別的時候 例項1 public ...