蜜桃无码视频,欧美日韩一=三道夲,国产精品午夜AV电影网免费看,aaa.www

歡迎來(lái)到 常識(shí)詞典網(wǎng) , 一個(gè)專業(yè)的常識(shí)知識(shí)學(xué)習(xí)網(wǎng)站!

[ Ctrl + D 鍵 ]收藏本站

您所在的位置:首頁(yè) > 教育學(xué)習(xí) > 百科

百科

您是怎么記憶 C/+/+ /VC/+/+ 的類型轉(zhuǎn)換的呢?

分類: 百科 常識(shí)詞典 編輯 : 常識(shí) 發(fā)布 : 09-16

閱讀 :647

您是怎么記憶 C/+/+ /VC/+/+ 的類型轉(zhuǎn)換的呢?c-ar*, const c-ar*,wc-ar_t*, const wc-ar_t*,string, CString, LPSTR, LPCTSTR, LPWSTR等等等等無(wú)數(shù)坑死人的類型轉(zhuǎn)換,大家是如何記住的?有些類型的本質(zhì)是什么?為什么要使用它們?在哪里可以找到這些轉(zhuǎn)換方式?9 個(gè)答案

答案 1:

先記最原始的 ANSI 字符串 LPSTR, 被定義成 c-ar *.LPCSTR 比 LPSTR 多了個(gè) C, 意思是 const, 所以 LPCSTR 是 const c-ar *.后來(lái) XP 后 微軟又把所有 API 增加了 Unicode 版本(實(shí)際是重新開發(fā)), 于是在 LPSTR 基礎(chǔ)上加了個(gè) W ,即 LPWSTR, 被定義成 wc-at_t.同理 LPCWSTR 被定義成 const wc-ar_t *.可是怎么兼容 以前的 ANSI 版本的 API 呢? 微軟用 帶 T 的宏 來(lái)解決的。如果 定義了Unicode那么 TCHAR 被定義成 WCHAR (就是 wc-ar_t) LPTSTR 被定義成 LPWSTR (wc-ar_t *) LPCTSTR 被定義成 LPCWSTR (const wc-ar_t *)否則 /* 那就是用了 ANSI 版本了 */ TCHAR 被定義成 CHAR (就是 c-ar 了) LPTSTR 被定義成 LPSTR (c-ar *) LPCTSTR 被定義成 LPCSTR (const c-ar *)對(duì)應(yīng)的,實(shí)際的函數(shù)名 以 A 結(jié)尾的 對(duì)應(yīng) ANSI 版本,而以 W 結(jié)尾的 對(duì)應(yīng)的 Unicode 版本.(其實(shí) ANSI 版本現(xiàn)在都是 將參數(shù)先轉(zhuǎn)成 寬字符,再調(diào)用 Unicode 版本)比如 MessageBoxA 和 MessageBoxW最后我們用的 MessageBox, 其實(shí)也是宏:如果 定義了Unicode那么 MessageBox 就是 MessageBoxW否則 MessageBox 就是 MessageBoxA在平時(shí)的時(shí)候,c-ar * 與 const c-ar * 之間的顯式轉(zhuǎn)換很少, 即使用到也很容易轉(zhuǎn).偶爾麻煩的就是 ANSI 和 Unicode 之間的轉(zhuǎn)換,有倆API:Unicode- > ANSI: WideC-arToMultiByteANSI- > Unicode: MultiByteToWideC-ar說真的,這倆 API 若是頻繁用到,看定義都麻煩. 所以最好自己稍微做封裝一下. 以后直接用自己封轉(zhuǎn)后的版本就好了.

答案 2:

WCHAR.H中:typedef unsigned s-ort wc-ar_t;WINNT.H 中typedef c-ar CHAR;typedef wc-ar_t WCHAR;typedef CHAR * PCHAR, * LPCH, * PCH, * NPSTR, * LPSTR, *PSTR;typedef CONST CHAR * LPCCH, * PCCH, * LPCSTR, * PCSTR;數(shù)據(jù)類型中有L,N指的是near和long,有P指的是指針,有C指的是有const修飾,有W指的是寬字符。有UNICODE標(biāo)識(shí)符情況下:typeddef WCHAR TCHAR, * PTCHAR;typeddef LPWSTR LPTCH, PTCH, PTSTR, LPTSTR;typeddef LPCWSTR LPCTSTR;

答案 3:

我想說的,前面的幾位都已經(jīng)說得七七八八了,其實(shí)主要是ANSI和UNICODE兩類,但形式上,也可以分標(biāo)準(zhǔn)C/C++和windows api兩類。你上面列出的,一種是C/C++里面的,如c-ar*、const c-ar*之類,一種是windows api里面的,如LPSTR,LPCTSTR之類的,這些是微軟通過宏定義幫前面的c-ar*、const c-ar*等類型起了一個(gè)新的名字而已,實(shí)質(zhì)和前面的一樣。當(dāng)你用到他們時(shí),你可以當(dāng)光標(biāo)放到這些類型上,然后F12就可以看到他的原貌了。還有CString這些是MFC,ATL里面的,CString是一個(gè)類,類也是一種類型。除了上面你列出的那些,其實(shí)還有針對(duì)COM的字符串類型、、、

答案 4:

const是修飾符,其轉(zhuǎn)換參考C++對(duì)const的規(guī)定;LPSTR, LPCSTR等是宏,其實(shí)都可以推算到c-ar*, const c-ar* 或者 wc-ar_t*, const wc-ar_t*等實(shí)際類型除去這些,Windows下VC++中的字符串類型基本就是:c-ar *, wc-ar_t*,_bstr_t, CComBSTR, CString, basic_string, System.String.MSDN很好的總結(jié)了這些字符串之間的轉(zhuǎn)換:msdn.microsoft/en-US...

答案 5:

對(duì)c標(biāo)準(zhǔn),c++標(biāo)準(zhǔn)以外的類型無(wú)視。

答案 6:

沒必要全記住,用的時(shí)候現(xiàn)查msdn也來(lái)得及

答案 7:

現(xiàn)用現(xiàn)查

答案 8:

沒刻意記過,用的時(shí)候不會(huì)就查;用的多了自然而然就記住了

答案 9:

用多了就記住了

下一篇:像 “如果云” 這樣山寨 ifttt 網(wǎng)站有前景嗎? 下一篇 【方向鍵 ( → )下一篇】

上一篇:幸福和開心區(qū)別是什么? 上一篇 【方向鍵 ( ← )上一篇】

亚洲综合不卡视频| 亚洲第一综合区| 婷婷 久久 六月天| 成年网站免费视频拍拍拍| 夫妻试看免费| 99热这里只有乱| zuojiujiu| 欧美777情情999| 亚洲aⅴ无码片一区二区三区| 懂色在线一区| 人妻中出中文字幕| 中文字幕久久精品无码区二区| 亚洲AV无码成人精品区一区| 久久久久久66| 欧美四区| 欧美在线免费黄片| 亚洲av女人的天堂| 日韩精品少妇无码受不了| 麻豆精产国品一二三产品何苗| 香蕉春色蜜桃| 无码精品人妻一区二区三区四区| 午夜国产福利AV在线| 国产精品无码AV剧情| 久久婷婷五月综合色一区| 潮喷欧美| 欧美人与性囗牲恔配动漫| 人妻AV观看| 国产精品制服一区在线看| 激情无码综合区| 国产成人久久综合一区| 另类综合欧美中文字幕| 另类一干网| 中文字幕无码国产精品| 亚日韩综合| 久久久久黄色毛片| 色五月婷婷色综合| 精品欧美一区二区在线观看熟| 欧美老妇在线观看视频| 人妻精品中文| f2国产精品| 最新网址一二三四|