久久99热66热这里只有精品,特黄特色的大片在线观看,亚洲日本三级在线观看,国产三级农村妇女在线,亚洲av毛片免费在线观看,哺乳叫自慰在线看,天天干美女av网

C++筆試

時(shí)間:2024-08-12 05:31:54 資料大全 我要投稿

C++筆試

1. 將程序改成Unicode編程需要做哪些修改?

C++筆試

    window 2k以后的系統(tǒng)底層都是基于Unicode的,就算你調(diào)用ANSI的API(以A結(jié)尾比如SetWidowsTextA),系統(tǒng)也會(huì)在你的進(jìn)程默認(rèn)堆上動(dòng)態(tài)分配一塊內(nèi)存,存放轉(zhuǎn)換后的Unicode字符串,然后把轉(zhuǎn)換后的字符串傳遞給API,如果調(diào)用了返回值為ANSI字符串的API,Windows會(huì)在后臺(tái)進(jìn)行相反的轉(zhuǎn)換,

C++筆試

    其實(shí)VC中進(jìn)行Unicode編程也不麻煩,大概如下:

1.為工程添加UNICODE和_UNICODE預(yù)處理選項(xiàng),在VC.net中就是 項(xiàng)目 -> 屬性 -> c/c++ -> 預(yù)處理器 在"預(yù)處理定義"中加入這兩個(gè)宏定義(vc6中 project -> settings -> c/c++ -> general 中的 Preprocessor definitions).

2.Include <TCHAR.h>(一般在stdafx.h中)然后把所有使用char*定義變量的地方換為L(zhǎng)PTSTR/TCHAR*或LPCTSTR/const TCHAR*(對(duì)應(yīng)于const char*).

3.把所有的字符串常量用_T()宏包起來(lái),比如 TCHAR* szText = _T("我的Text");

4.所有的C庫(kù)字符串操作函數(shù)也做相應(yīng)的替換,比如

strlen ->_tcslen

strcat ->_tcscat

strcmp ->_tcscmp

......

    注意,這些函數(shù)中的"文本長(zhǎng)度"均為字符個(gè)數(shù),而非char個(gè)數(shù)具體參看MSDN.

5.API調(diào)用一般不用做特殊處理,當(dāng)定義了UNICODE和_UNICODE后,所有的API都會(huì)被宏指向W結(jié)尾的版本(不定義則指向A結(jié)尾的版本).

    其實(shí),上面所說(shuō)的并非強(qiáng)制你使用UNICODE,如果你還想回去使用ANSI,沒(méi)有問(wèn)題,把第一步定義的兩個(gè)宏拿掉就OK了,繼續(xù)我們的ANSI編程,

資料共享平臺(tái)

C++筆試》(http://m.dameics.com)。

 

2. TCHAR同char的區(qū)別

TCHAR 就是當(dāng)你的字符設(shè)置為什么就是什么

例如:程序編譯為 ANSI, TCHAR 就是相當(dāng)于 CHAR

當(dāng)程序編譯為 UNICODE, TCHAR 就相當(dāng)于 WCHAR ,每個(gè)字符占兩個(gè)字節(jié)

【C++筆試】相關(guān)文章:

普天C++筆試題09-10

聯(lián)想C++筆試題10-12

普天C++筆試題09-09

C/C++筆試題05-24

C++和JAVA筆試題08-01

文思c++筆試題目10-12

C++筆試題目分享08-07

恒生電子筆試 C/C++開發(fā)筆試題10-29

軟通動(dòng)力C++筆試題11-02

C++面試筆試題目07-16