锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品久久66,久久久久久久97,麻豆精品久久久久久久99蜜桃http://www.shnenglu.com/dotaqop/category/16927.htmlCodezh-cnTue, 07 Jun 2011 19:12:00 GMTTue, 07 Jun 2011 19:12:00 GMT60鍫嗗拰鏍?/title><link>http://www.shnenglu.com/dotaqop/articles/148214.html</link><dc:creator>Hsssssss</dc:creator><author>Hsssssss</author><pubDate>Tue, 07 Jun 2011 08:38:00 GMT</pubDate><guid>http://www.shnenglu.com/dotaqop/articles/148214.html</guid><wfw:comment>http://www.shnenglu.com/dotaqop/comments/148214.html</wfw:comment><comments>http://www.shnenglu.com/dotaqop/articles/148214.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/dotaqop/comments/commentRss/148214.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/dotaqop/services/trackbacks/148214.html</trackback:ping><description><![CDATA[<p><strong></strong></p> <p><span style="color: red"><strong>瑙i噴鍫嗗拰鏍堢殑鍖哄埆</strong></span></p> <p>涓銆侀澶囩煡璇?#8212;紼嬪簭鐨勫唴瀛樺垎閰?/p> <p>涓涓敱c/C++緙栬瘧鐨勭▼搴忓崰鐢ㄧ殑鍐呭瓨鍒嗕負浠ヤ笅鍑犱釜閮ㄥ垎<br />1銆佹爤鍖猴紙stack錛?#8212;   鐢辯紪璇戝櫒鑷姩鍒嗛厤閲婃斁 錛屽瓨鏀懼嚱鏁扮殑鍙傛暟鍊鹼紝灞閮ㄥ彉閲忕殑鍊肩瓑銆傚叾鎿嶄綔鏂瑰紡綾諱技浜庢暟鎹粨鏋勪腑鐨勬爤銆?br />2銆佸爢鍖猴紙heap錛?—   涓鑸敱紼嬪簭鍛樺垎閰嶉噴鏀撅紝 鑻ョ▼搴忓憳涓嶉噴鏀撅紝紼嬪簭緇撴潫鏃跺彲鑳界敱OS鍥炴敹 銆傛敞鎰忓畠涓庢暟鎹粨鏋勪腑鐨勫爢鏄袱鍥炰簨錛屽垎閰嶆柟寮忓掓槸綾諱技浜庨摼琛紝鍛靛懙銆?br />3銆佸叏灞鍖猴紙闈欐佸尯錛夛紙static錛?#8212;錛屽叏灞鍙橀噺鍜岄潤鎬佸彉閲忕殑瀛樺偍鏄斁鍦ㄤ竴鍧楃殑錛屽垵濮嬪寲鐨勫叏灞鍙橀噺鍜岄潤鎬佸彉閲忓湪涓鍧楀尯鍩燂紝 鏈垵濮嬪寲鐨勫叏灞鍙橀噺鍜屾湭鍒濆鍖栫殑闈欐佸彉閲忓湪鐩擱偦鐨勫彟涓鍧楀尯鍩熴?- 紼嬪簭緇撴潫鍚庢湁緋葷粺閲婃斁 <br />4銆佹枃瀛楀父閲忓尯  —甯擱噺瀛楃涓插氨鏄斁鍦ㄨ繖閲岀殑銆?紼嬪簭緇撴潫鍚庣敱緋葷粺閲婃斁<br />5銆佺▼搴忎唬鐮佸尯—瀛樻斁鍑芥暟浣撶殑浜岃繘鍒朵唬鐮併?br /></p> <p>浜屻佷緥瀛愮▼搴?<br />榪欐槸涓涓墠杈堝啓鐨勶紝闈炲父璇︾粏 <br />//main.cpp <br />int a = 0; 鍏ㄥ眬鍒濆鍖栧尯 <br />char *p1; 鍏ㄥ眬鏈垵濮嬪寲鍖?<br />main() <br />{ <br />int b; 鏍?<br />char s[] = "abc"; 鏍?<br />char *p2; 鏍?<br />char *p3 = "123456"; 123456\0鍦ㄥ父閲忓尯錛宲3鍦ㄦ爤涓娿?<br />static int c =0錛?鍏ㄥ眬錛堥潤鎬侊級鍒濆鍖栧尯 <br />p1 = (char *)malloc(10); <br />p2 = (char *)malloc(20); <br />鍒嗛厤寰楁潵寰?0鍜?0瀛楄妭鐨勫尯鍩熷氨鍦ㄥ爢鍖恒?<br />strcpy(p1, "123456"); 123456\0鏀懼湪甯擱噺鍖猴紝緙栬瘧鍣ㄥ彲鑳戒細灝嗗畠涓巔3鎵鎸囧悜鐨?123456"浼樺寲鎴愪竴涓湴鏂廣?<br />} <br /></p> <p>浜屻佸爢鍜屾爤鐨勭悊璁虹煡璇?</p> <p>2.1鐢寵鏂瑰紡 <br />stack: <br />鐢辯郴緇熻嚜鍔ㄥ垎閰嶃?渚嬪錛屽0鏄庡湪鍑芥暟涓竴涓眬閮ㄥ彉閲?int b; 緋葷粺鑷姩鍦ㄦ爤涓負b寮杈熺┖闂?</p> <p>heap: <br />闇瑕佺▼搴忓憳鑷繁鐢寵錛屽茍鎸囨槑澶у皬錛屽湪c涓璵alloc鍑芥暟 <br />濡俻1 = (char *)malloc(10); <br />鍦–++涓敤new榪愮畻絎?<br />濡俻2 = (char *)malloc(10); <br />浣嗘槸娉ㄦ剰p1銆乸2鏈韓鏄湪鏍堜腑鐨勩?</p> <p><br />2.2 <br />鐢寵鍚庣郴緇熺殑鍝嶅簲 <br />鏍堬細鍙鏍堢殑鍓╀綑絀洪棿澶т簬鎵鐢寵絀洪棿錛岀郴緇熷皢涓虹▼搴忔彁渚涘唴瀛橈紝鍚﹀垯灝嗘姤寮傚父鎻愮ず鏍堟孩鍑恒?<br />鍫嗭細棣栧厛搴旇鐭ラ亾鎿嶄綔緋葷粺鏈変竴涓褰曠┖闂插唴瀛樺湴鍧鐨勯摼琛紝褰撶郴緇熸敹鍒扮▼搴忕殑鐢寵鏃訛紝 浼氶亶鍘嗚閾捐〃錛屽鎵劇涓涓┖闂村ぇ浜庢墍鐢寵絀洪棿鐨勫爢緇撶偣錛岀劧鍚庡皢璇ョ粨鐐逛粠絀洪棽緇撶偣閾捐〃涓垹闄わ紝騫跺皢璇ョ粨鐐圭殑絀洪棿鍒嗛厤緇欑▼搴忥紝鍙﹀錛屽浜庡ぇ澶氭暟緋葷粺錛屼細鍦ㄨ繖鍧楀唴瀛樼┖闂翠腑鐨勯鍦板潃澶勮褰曟湰嬈″垎閰嶇殑澶у皬錛?/p> <p>榪欐牱錛屼唬鐮佷腑鐨刣elete璇彞鎵嶈兘姝g‘鐨勯噴鏀炬湰鍐呭瓨絀洪棿銆傚彟澶栵紝鐢變簬鎵懼埌鐨勫爢緇撶偣鐨勫ぇ灝忎笉涓瀹氭濂界瓑浜庣敵璇風殑澶у皬錛岀郴緇熶細鑷姩鐨勫皢澶氫綑鐨勯偅閮ㄥ垎閲嶆柊鏀懼叆絀洪棽閾捐〃涓?</p> <p>2.3鐢寵澶у皬鐨勯檺鍒?<br />鏍堬細鍦╓indows涓?鏍堟槸鍚戜綆鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄竴鍧楄繛緇殑鍐呭瓨鐨勫尯鍩熴傝繖鍙ヨ瘽鐨勬剰鎬濇槸鏍堥《鐨勫湴鍧</p> <p>鍜屾爤鐨勬渶澶у閲忔槸緋葷粺棰勫厛瑙勫畾濂界殑錛屽湪WINDOWS涓嬶紝鏍堢殑澶у皬鏄?M錛堜篃鏈夌殑璇存槸1M錛屾諱箣鏄竴涓紪璇戞椂灝辯‘瀹氱殑甯告暟錛夛紝濡傛灉鐢寵鐨勭┖闂磋秴榪囨爤鐨勫墿浣欑┖闂存椂錛屽皢鎻愮ずoverflow銆傚洜姝わ紝鑳戒粠鏍堣幏寰楃殑絀洪棿杈冨皬銆?<br />鍫嗭細鍫嗘槸鍚戦珮鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄笉榪炵畫鐨勫唴瀛樺尯鍩熴傝繖鏄敱浜庣郴緇熸槸鐢ㄩ摼琛ㄦ潵瀛樺偍鐨勭┖闂插唴瀛樺湴鍧鐨勶紝鑷劧鏄笉榪炵畫鐨勶紝鑰岄摼琛ㄧ殑閬嶅巻鏂瑰悜鏄敱浣庡湴鍧鍚戦珮鍦板潃銆傚爢鐨勫ぇ灝忓彈闄愪簬璁$畻鏈虹郴緇熶腑鏈夋晥鐨勮櫄鎷熷唴瀛樸傜敱姝ゅ彲瑙侊紝鍫嗚幏寰楃殑絀洪棿姣旇緝鐏墊椿錛屼篃姣旇緝澶с?</p> <p><br />2.4鐢寵鏁堢巼鐨勬瘮杈冿細 <br />鏍堢敱緋葷粺鑷姩鍒嗛厤錛岄熷害杈冨揩銆備絾紼嬪簭鍛樻槸鏃犳硶鎺у埗鐨勩?<br />鍫嗘槸鐢眓ew鍒嗛厤鐨勫唴瀛橈紝涓鑸熷害姣旇緝鎱紝鑰屼笖瀹規槗浜х敓鍐呭瓨紕庣墖,涓嶈繃鐢ㄨ搗鏉ユ渶鏂逛究. <br />鍙﹀錛屽湪WINDOWS涓嬶紝鏈濂界殑鏂瑰紡鏄敤VirtualAlloc鍒嗛厤鍐呭瓨錛屼粬涓嶆槸鍦ㄥ爢錛屼篃涓嶆槸鍦ㄦ爤鏄洿鎺ュ湪榪涚▼鐨勫湴鍧絀洪棿涓繚鐣欎竴蹇唴瀛橈紝铏界劧鐢ㄨ搗鏉ユ渶涓嶆柟渚褲備絾鏄熷害蹇紝涔熸渶鐏墊椿銆?</p> <p>2.5鍫嗗拰鏍堜腑鐨勫瓨鍌ㄥ唴瀹?<br />鏍堬細 鍦ㄥ嚱鏁拌皟鐢ㄦ椂錛岀涓涓繘鏍堢殑鏄富鍑芥暟涓悗鐨勪笅涓鏉℃寚浠わ紙鍑芥暟璋冪敤璇彞鐨勪笅涓鏉″彲鎵ц璇彞錛夌殑鍦板潃錛岀劧鍚庢槸鍑芥暟鐨勫悇涓弬鏁幫紝鍦ㄥぇ澶氭暟鐨凜緙栬瘧鍣ㄤ腑錛屽弬鏁版槸鐢卞彸寰宸﹀叆鏍堢殑錛岀劧鍚庢槸鍑芥暟涓殑灞閮ㄥ彉閲忋傛敞鎰忛潤鎬佸彉閲忔槸涓嶅叆鏍堢殑銆?<br />褰撴湰嬈″嚱鏁拌皟鐢ㄧ粨鏉熷悗錛屽眬閮ㄥ彉閲忓厛鍑烘爤錛岀劧鍚庢槸鍙傛暟錛屾渶鍚庢爤欏舵寚閽堟寚鍚戞渶寮濮嬪瓨鐨勫湴鍧錛屼篃灝辨槸涓誨嚱鏁頒腑鐨勪笅涓鏉℃寚浠わ紝紼嬪簭鐢辮鐐圭戶緇繍琛屻?<br />鍫嗭細涓鑸槸鍦ㄥ爢鐨勫ご閮ㄧ敤涓涓瓧鑺傚瓨鏀懼爢鐨勫ぇ灝忋傚爢涓殑鍏蜂綋鍐呭鏈夌▼搴忓憳瀹夋帓銆?</p> <p>2.6瀛樺彇鏁堢巼鐨勬瘮杈?</p> <p>char s1[] = "aaaaaaaaaaaaaaa"; <br />char *s2 = "bbbbbbbbbbbbbbbbb"; <br />aaaaaaaaaaa鏄湪榪愯鏃跺埢璧嬪肩殑錛?<br />鑰宐bbbbbbbbbb鏄湪緙栬瘧鏃跺氨紜畾鐨勶紱 <br />浣嗘槸錛屽湪浠ュ悗鐨勫瓨鍙栦腑錛屽湪鏍堜笂鐨勬暟緇勬瘮鎸囬拡鎵鎸囧悜鐨勫瓧絎︿覆(渚嬪鍫?蹇?<br />姣斿錛?<br />#include <br />void main() <br />{ <br />char a = 1; <br />char c[] = "1234567890"; <br />char *p ="1234567890"; <br />a = c[1]; <br />a = p[1]; <br />return; <br />} <br />瀵瑰簲鐨勬眹緙栦唬鐮?<br />10: a = c[1]; <br />00401067 8A 4D F1 mov cl,byte ptr [ebp-0Fh] <br />0040106A 88 4D FC mov byte ptr [ebp-4],cl <br />11: a = p[1]; <br />0040106D 8B 55 EC mov edx,dword ptr [ebp-14h] <br />00401070 8A 42 01 mov al,byte ptr [edx+1] <br />00401073 88 45 FC mov byte ptr [ebp-4],al <br />絎竴縐嶅湪璇誨彇鏃剁洿鎺ュ氨鎶婂瓧絎︿覆涓殑鍏冪礌璇誨埌瀵勫瓨鍣╟l涓紝鑰岀浜岀鍒欒鍏堟妸鎸囬拡鍊艱鍒癳dx涓紝鍦ㄦ牴鎹甧dx璇誨彇瀛楃錛屾樉鐒舵參浜嗐?</p> <p>鍫嗗拰鏍堢殑鍖哄埆鍙婂唴瀛樻硠闇? -<br />                                       </p> <p>    鍫嗗拰鏍堟槸涓や釜涓嶅悓鐨勬蹇點傚湪瀛﹀井鏈哄師鐞嗘椂娌℃湁鎰熻鍒幫紝鍥犱負涔︿笂鍙彁鍒頒簡鍫嗘爤錛涙暟鎹粨鏋勪笂涔熸彁鍒拌繃鏍堛備絾鏄紝濮嬬粓涓嶆槑鐧戒粈涔堟槸鍫嗭紝浠涔堟槸鏍堛傚悗鏉ユ棤鎰忕炕鐪嬩簡C++錛屾墠鐭ラ亾錛堝彧鏄煡閬擄紝涓嶆槸鏄庣櫧錛屾洿縐頒笉涓婃噦錛夊畠浠殑鍖哄埆銆?/p> <p>    綆鍗曠殑鏉ヨ鍫嗭紙heap錛変笂鍒嗛厤鐨勫唴瀛橈紝緋葷粺涓嶉噴鏀撅紝鑰屼笖鏄姩鎬佸垎閰嶇殑銆傛爤錛坰tack錛変笂鍒嗛厤鐨勫唴瀛樼郴緇熶細鑷姩閲婃斁錛屽畠鏄潤鎬佸垎閰嶇殑銆?/p> <p>    鐢眒alloc鎴杗ew鍒嗛厤鐨勫唴瀛橀兘鏄粠heap涓婂垎閰嶇殑鍐呭瓨錛屼粠heap涓婂垎閰嶇殑鍐呭瓨蹇呴』鏈夌▼搴忓憳鑷繁閲婃斁錛岀敤free鏉ラ噴鏀撅紝鍚﹀垯榪欏潡鍐呭瓨浼氫竴鐩磋鍗犵敤鑰屽緱涓嶅埌閲婃斁錛屽氨鍑虹幇浜?#8220;鍐呭瓨娉勯湶錛圡emory Leak錛?#8221;銆傝繖鏍蜂細閫犳垚緋葷粺鐨勫彲鍒嗛厤鍐呭瓨鐨勮秺鏉ヨ秺灝戯紝瀵艱嚧緋葷粺宕╂簝銆?/p> <p>    C/C++鏄?#8220;璺ㄥ浗璇█”錛屽湪浠諱綍騫沖彴涓婇兘鍙互浣跨敤銆傛墍浠ワ紝Memory Leak鍦ㄦ瘡涓郴緇熶笂閮戒細鍑虹幇銆傞伩鍏嶆柟娉曞氨鏄湪鍐欏畬malloc鍚庯紝绱ц窡鐫灝卞湪涓嬩竴琛屽啓free銆傜劧鍚庡湪涓よ浠g爜涓棿鍔犲叾浠栫殑浠g爜銆傚搱鍝堬紝姊佽倗鏂扮殑鎴愬緙栫爜錛岃繖鏍蜂細寰堝ソ鐨勮В鍐熾?/p> <p> </p> <p>鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛歨ttp://blog.csdn.net/hanlin1985/archive/2008/10/10/3048673.aspx</p><img src ="http://www.shnenglu.com/dotaqop/aggbug/148214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/dotaqop/" target="_blank">Hsssssss</a> 2011-06-07 16:38 <a href="http://www.shnenglu.com/dotaqop/articles/148214.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>wchar_thttp://www.shnenglu.com/dotaqop/articles/148054.htmlHsssssssHsssssssSat, 04 Jun 2011 09:00:00 GMThttp://www.shnenglu.com/dotaqop/articles/148054.htmlhttp://www.shnenglu.com/dotaqop/comments/148054.htmlhttp://www.shnenglu.com/dotaqop/articles/148054.html#Feedback0http://www.shnenglu.com/dotaqop/comments/commentRss/148054.htmlhttp://www.shnenglu.com/dotaqop/services/trackbacks/148054.html

鍏充簬wchar_t

鍦–++鏍囧噯涓紝wchar_t鏄瀛楃綾誨瀷錛屾瘡涓獁char_t綾誨瀷鍗?涓瓧鑺傦紝16浣嶅銆傛眽瀛楃殑琛ㄧず灝辮鐢ㄥ埌wchar_t 銆俢har錛屾垜浠兘鐭ラ亾錛屽崰涓涓瓧鑺傦紝8浣嶅銆?/p>

鏍囧噯C++涓殑wprintf()鍑芥暟浠ュ強iostream綾誨簱涓殑綾誨拰瀵硅薄鑳芥彁渚泈char_t瀹藉瓧絎︾被鍨嬬殑鐩稿叧鎿嶄綔銆?/p>

locale loc( "chs" );//瀹氫箟“鍖哄煙璁劇疆”涓轟腑鏂囨柟寮?br />wcout.imbue( loc );//杞藉叆涓枃瀛楃杈撳叆鏂瑰紡
wchar_t str[]=L"涓浗";//瀹氫箟瀹藉瓧絎︽暟緇勶紝娉ㄦ剰L鏄ぇ鍐?br />wcout<<str<<endl;//鏄劇ず瀹藉瓧絎︽暟緇勶紝涓嬪悓
wprintf(str);

system("pause");

wchar_t 杞崲涓篶har 鐨勪唬鐮佸涓嬶細

鏈夊涓嬬殑wchar_t鍜宑har鍙橀噺

wchar_t w_cn = '涓?;
char c_cn[2] = {'0'} ;

char *C2W(wchar_t w_cn , char c_cn[2])

{

//following code convert wchar to char
c_cn[0] = w_cn >> 8 ;
c_cn[1] = w_cn ;
c_cn[2] = '\0';

return c_cn ;

}

鍏朵腑闇瑕佹敞鎰忕殑鏄竴涓?6浣嶇殑wchar_t闇瑕佺敤涓や釜8浣嶇殑char鏉ュ瓨鍌ㄤ箣銆傛垜浠彲浠ュ彂鐜板彟澶栦竴涓棶棰橈紝wchar_t鐨勯珮浣嶅瓧鑺傚簲璇ュ瓨鍌ㄥ湪char鏁扮粍鐨勪綆浣嶅瓧鑺傘?/p>

wchar_t *綾誨瀷 杞負char *綾誨瀷

 CString strName("listen");
 char *pcstr = (char *)new char[2 * strName.GetLength()+1] ;

 WideCharToMultiByte(   CP_ACP,  
  0,  
  strName,     //   瑕佽漿鎹㈢殑wchar_t*  
  -1,  
  pcstr,   //   鎺ユ敹char*鐨勭紦鍐插尯鎸囬拡  
  2 * strName.GetLength()+1,         //   pcstr鐨勭紦鍐插尯鐨勫ぇ灝?nbsp; 
  NULL,  
  NULL   );

鍏充簬system錛?command"錛?/p>

system("command")鏄墽琛屼竴涓猟os鍛戒護銆俿ystem("pause")灝辨槸鎵цDos鍛戒護pause錛岀瓑寰呯敤鎴瘋緭鍏ャ?
system("pause") 涓巊etchar()鍖哄埆

system("pause") 鏄皟鐢╓INDOWS CONSOLE APP涓嬬殑鍛戒護 PAUSE鐨勩?
system("const char*")灝辨槸璋冪敤WINDOWS CONSOLE APP涓嬬殑鍛戒護銆?
姣斿system("exit");
system("ping 192.168.0.1")絳夌瓑

鑰実etchar()鍙槸C鏍囧噯搴撻噷絳夊緟涓涓瓧絎︾殑鍑芥暟錛屼袱鑰呭尯鍒緢澶с?/p>

/*---------------------------------------------------*/
濡備綍浣縮ystem("pause") 涓嶅脊鍑?#8220;鎸変換鎰忛敭緇х畫”榪欏嚑涓瓧鍛紵
鐢╯ystem("pause>nul")  灝卞彲浠ヤ簡

wchar_t*,wchar_t,wchat_t鏁扮粍,char,char*,char鏁扮粍,std::string,std::wstring,CString

#include <string>
// 浣跨敤CString蹇呴』浣跨敤MFC錛屽茍涓斾笉鍙寘鍚?lt;windows.h>
#define _AFXDLL
#include <afx.h>
using namespace std;
//----------------------------------------------------------------------------------
//灝?鍗曞瓧鑺俢har* 杞崲涓?瀹藉瓧鑺?wchar*
inline wchar_t* AnsiToUnicode( const char* szStr )
{
int nLen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, szStr, -1, NULL, 0 );
if (nLen == 0)
{
   return NULL;
}
wchar_t* pResult = new wchar_t[nLen];
MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, szStr, -1, pResult, nLen );
return pResult;
}
//----------------------------------------------------------------------------------
// 灝?瀹藉瓧鑺倃char_t* 杞崲 鍗曞瓧鑺俢har*
inline char* UnicodeToAnsi( const wchar_t* szStr )
{
int nLen = WideCharToMultiByte( CP_ACP, 0, szStr, -1, NULL, 0, NULL, NULL );
if (nLen == 0)
{
   return NULL;
}
char* pResult = new char[nLen];
WideCharToMultiByte( CP_ACP, 0, szStr, -1, pResult, nLen, NULL, NULL );
return pResult;
}
//----------------------------------------------------------------------------------
// 灝嗗崟瀛楃 string 杞崲涓哄瀛楃 wstring
inline void Ascii2WideString( const std::string& szStr, std::wstring& wszStr )
{
int nLength = MultiByteToWideChar( CP_ACP, 0, szStr.c_str(), -1, NULL, NULL );
wszStr.resize(nLength);
LPWSTR lpwszStr = new wchar_t[nLength];
MultiByteToWideChar( CP_ACP, 0, szStr.c_str(), -1, lpwszStr, nLength );
wszStr = lpwszStr;
delete [] lpwszStr;
}
//----------------------------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
char*   pChar = "鎴戝枩嬈har";
wchar_t* pWideChar = L"鎴戣鍘寃char_t";
wchar_t   tagWideCharList[100] ;
char   ch = 'A';
char   tagChar[100] = {NULL};
CString   cStr;
std::string str;

// 娉細璁劇疆璇█鐜浠ヤ究杈撳嚭WideChar
setlocale(LC_ALL,"chs");

// 娉細 char* 杞崲 wchar_t*
// 娉細 wchar_t 鏈噸杞?<< 錛屾墍浠ヤ笉鍙嬌鐢?cout << 杈撳嚭
pWideChar = AnsiToUnicode( pChar );
// 娉細printf("%ls") 鍜?wprintf(L"%s") 涓鑷?br />printf( "%ls\n", pWideChar );

// 娉細wchar_t* 杞崲 wchar_t[]
wcscpy ( tagWideCharList, pWideChar );
wprintf( L"%s\n", tagWideCharList );

// 娉細wchar_t[] 杞崲 wchar_t*
pWideChar = tagWideCharList;
wprintf( L"%s\n", pWideChar );

// 娉細char 杞崲 string
str.insert( str.begin(), ch );
cout << str << endl;

// 娉細wchar_t* 杞崲 string
pWideChar = new wchar_t[str.length()];
swprintf( pWideChar, L"%s", str.c_str());
wprintf( L"%s\n", pWideChar );

// 娉細string 杞崲 char*
pChar = const_cast<char*>(str.c_str());
cout << pChar << endl;

// 娉細char* 杞崲 string
str = std::string(pChar);
// 娉細 cout 鐨?<< 閲嶈澆浜唖tring, 鑻rintf 鐨勮瘽蹇呴』 printf("%s", str.c_str());
//   鑰屼笉鍙?print( "%s", str ); 鍥犱負 str 鏄釜 string 綾?br />cout << str << endl;

// 娉細string 杞崲 char[]
str = "鏃犺亰鍟婃棤鑱?;
strcpy( tagChar, str.c_str() );
printf( "%s\n", tagChar );

// 娉細string 杞崲 CString;
cStr = str.c_str();

// 娉細CString 杞崲 string
str = string(cStr.GetBuffer(cStr.GetLength()));

// 娉細char* 杞崲 CString
cStr = pChar;

// 娉細CString 杞崲 char*
pChar = cStr.GetBuffer( cStr.GetLength() );

// 娉細CString 杞崲 char[]
strncpy( tagChar, (LPCTSTR)CString, sizeof(tagChar));

// 娉細CString 杞崲 wchar_t*
pWideChar = cStr.AllocSysString();
printf( "%ls\n", pWideChar );
}

WideCharToMultiByte()鍑芥暟

銆銆鍑芥暟鍔熻兘錛氳鍑芥暟鏄犲皠涓涓猽nicode瀛楃涓插埌涓涓瀛楄妭瀛楃涓層?/p>

銆銆鍑芥暟鍘熷瀷錛歩nt WideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPWSTR lpWideCharStr, int cchWideChar, LPCSTR lpMultiByteStr, int cchMultiByte, LPCSTR lpDefaultChar, PBOOL pfUsedDefaultChar );

銆銆鍙傛暟錛?/p>

銆銆CodePage錛氭寚瀹氭墽琛岃漿鎹㈢殑浠g爜欏碉紝榪欎釜鍙傛暟鍙互涓虹郴緇熷凡瀹夎鎴栨湁鏁堢殑浠諱綍浠g爜欏墊墍緇欏畾鐨勫箋備綘涔熷彲浠ユ寚瀹氬叾涓轟笅闈㈢殑浠繪剰涓鍊鹼細

銆銆CP_ACP錛欰NSI浠g爜欏碉紱CP_MACCP錛歁acintosh浠g爜欏碉紱CP_OEMCP錛歄EM浠g爜欏碉紱

銆銆CP_SYMBOL錛氱鍙蜂唬鐮侀〉錛?2錛夛紱CP_THREAD_ACP錛氬綋鍓嶇嚎绱NSI浠g爜欏碉紱

銆銆CP_UTF7錛氫嬌鐢║TF-7杞崲錛汣P_UTF8錛氫嬌鐢║TF-8杞崲銆?/p>

銆銆dwFlags錛氫竴緇勪綅鏍囪鐢ㄤ互鎸囧嚭鏄惁鏈漿鎹㈡垚棰勪綔鎴栧瀛楃錛堣嫢緇勫悎褰㈠紡瀛樺湪錛夛紝鏄惁浣跨敤璞″艦鏂囧瓧鏇夸唬鎺у埗瀛楃錛屼互鍙婂浣曞鐞嗘棤鏁堝瓧絎︺備綘鍙互鎸囧畾涓嬮潰鏄爣璁板父閲忕殑緇勫悎錛屽惈涔夊涓嬶細

銆銆MB_PRECOMPOSED錛氶氬父浣跨敤棰勪綔瀛楃——灝辨槸璇達紝鐢變竴涓熀鏈瓧絎﹀拰涓涓潪絀哄瓧絎︾粍鎴愮殑瀛楃鍙湁涓涓崟涓鐨勫瓧絎﹀箋傝繖鏄己鐪佺殑杞崲閫夋嫨銆備笉鑳戒笌

銆銆MB_COMPOSITE鍊間竴璧蜂嬌鐢ㄣ?/p>

銆銆MB_COMPOSITE錛氶氬父浣跨敤緇勫悎瀛楃——灝辨槸璇達紝鐢變竴涓熀鏈瓧絎﹀拰涓涓潪絀哄瓧絎︾粍鎴愮殑瀛楃鍒嗗埆鏈変笉鍚岀殑瀛楃鍊箋傝繖鏄己鐪佺殑杞崲閫夋嫨銆備笉鑳戒笌MB_PRECOMPOSED鍊間竴璧蜂嬌鐢ㄣ?/p>

銆銆MB_ERR_INVALID_CHARS錛氬鏋滃嚱鏁伴亣鍒版棤鏁堢殑杈撳叆瀛楃錛屽畠灝嗚繍琛屽け璐ワ紝涓擥etLastErro榪斿洖ERROR_NO_UNICODE_TRANSLATION鍊箋?/p>

銆銆MB_USEGLYPHCHARS錛氫嬌鐢ㄨ薄褰㈡枃瀛楁浛浠f帶鍒跺瓧絎︺?/p>

銆銆緇勫悎瀛楃鐢變竴涓熀紜瀛楃鍜屼竴涓潪絀哄瓧絎︽瀯鎴愶紝姣忎竴涓兘鏈変笉鍚岀殑瀛楃鍊箋傛瘡涓浣滃瓧絎﹂兘鏈夊崟涓鐨勫瓧絎﹀肩粰鍩虹/闈炵┖瀛楃鐨勭粍鎴愩傚湪瀛楃è涓紝e灝辨槸鍩虹瀛楃錛岃岄噸闊崇鏍囪灝辨槸闈炵┖瀛楃銆?/p>

銆銆鍑芥暟鐨勭己鐪佸姩浣滄槸杞崲鎴愰浣滅殑褰㈠紡銆傚鏋滈浣滅殑褰㈠紡涓嶅瓨鍦紝鍑芥暟灝嗗皾璇曡漿鎹㈡垚緇勫悎褰㈠紡銆?/p>

銆銆鏍囪MB_PRECOMPOSED鍜孧B_COMPOSITE鏄簰鏂ョ殑錛岃屾爣璁癕B_USEGLYPHCHARS鍜孧B_ERR_INVALID_CHARS鍒欎笉綆″叾瀹冩爣璁板浣曢兘鍙互璁劇疆銆?/p>

銆銆lpWideCharStr錛氭寚鍚戝皢琚漿鎹㈢殑unicode瀛楃涓層?/p>

銆銆cchWideChar錛氭寚瀹氱敱鍙傛暟lpWideCharStr鎸囧悜鐨勭紦鍐插尯鐨勫瓧絎︿釜鏁般傚鏋滆繖涓間負-1錛屽瓧絎︿覆灝嗚璁懼畾涓轟互NULL涓虹粨鏉熺鐨勫瓧絎︿覆錛屽茍涓旇嚜鍔ㄨ綆楅暱搴︺?/p>

銆銆lpMultiByteStr錛氭寚鍚戞帴鏀惰杞崲瀛楃涓茬殑緙撳啿鍖恒?/p>

銆銆cchMultiByte錛氭寚瀹氱敱鍙傛暟lpMultiByteStr鎸囧悜鐨勭紦鍐插尯鏈澶у鹼紙鐢ㄥ瓧鑺傛潵璁¢噺錛夈傝嫢姝ゅ間負闆訛紝鍑芥暟榪斿洖lpMultiByteStr鎸囧悜鐨勭洰鏍囩紦鍐插尯鎵蹇呴渶鐨勫瓧鑺傛暟錛屽湪榪欑鎯呭喌涓嬶紝lpMultiByteStr鍙傛暟閫氬父涓篘ULL銆?/p>

銆銆lpDefaultChar鍜宲fUsedDefaultChar錛氬彧鏈夊綋WideCharToMultiByte鍑芥暟閬囧埌涓涓瀛楄妭瀛楃錛岃岃瀛楃鍦╱CodePage鍙傛暟鏍囪瘑鐨勪唬鐮侀〉涓茍娌℃湁瀹冪殑琛ㄧず娉曟椂錛學ideCharToMultiByte鍑芥暟鎵嶄嬌鐢ㄨ繖涓や釜鍙傛暟銆傚鏋滃瀛楄妭瀛楃涓嶈兘琚漿鎹紝璇ュ嚱鏁頒究浣跨敤lpDefaultChar鍙傛暟鎸囧悜鐨勫瓧絎︺傚鏋滆鍙傛暟鏄疦ULL錛堣繖鏄ぇ澶氭暟鎯呭喌涓嬬殑鍙傛暟鍊鹼級錛岄偅涔堣鍑芥暟浣跨敤緋葷粺鐨勯粯璁ゅ瓧絎︺傝榛樿瀛楃閫氬父鏄釜闂彿銆傝繖瀵逛簬鏂囦歡鍚嶆潵璇存槸鍗遍櫓鐨勶紝鍥犱負闂彿鏄釜閫氶厤絎︺俻fUsedDefaultChar鍙傛暟鎸囧悜涓涓竷灝斿彉閲忥紝濡傛灉Unicode瀛楃涓蹭腑鑷沖皯鏈変竴涓瓧絎︿笉鑳借漿鎹㈡垚絳変環澶氬瓧鑺傚瓧絎︼紝閭d箞鍑芥暟灝卞皢璇ュ彉閲忕疆涓篢RUE銆傚鏋滄墍鏈夊瓧絎﹀潎琚垚鍔熷湴杞崲錛岄偅涔堣鍑芥暟灝卞皢璇ュ彉閲忕疆涓篎ALSE銆傚綋鍑芥暟榪斿洖浠ヤ究媯鏌ュ瀛楄妭瀛楃涓叉槸鍚﹁鎴愬姛鍦拌漿鎹㈠悗錛屽彲浠ユ祴璇曡鍙橀噺銆?/p>

銆銆榪斿洖鍊鹼細濡傛灉鍑芥暟榪愯鎴愬姛錛屽茍涓攃chMultiByte涓嶄負闆訛紝榪斿洖鍊兼槸鐢?lpMultiByteStr鎸囧悜鐨勭紦鍐插尯涓啓鍏ョ殑瀛楄妭鏁幫紱濡傛灉鍑芥暟榪愯鎴愬姛錛屽茍涓攃chMultiByte涓洪浂錛岃繑鍥炲兼槸鎺ユ敹鍒板緟杞崲瀛楃涓茬殑緙撳啿鍖烘墍蹇呴渶鐨勫瓧鑺傛暟銆傚鏋滃嚱鏁拌繍琛屽け璐ワ紝榪斿洖鍊間負闆躲傝嫢鎯寵幏寰楁洿澶氶敊璇俊鎭紝璇瘋皟鐢℅etLastError鍑芥暟銆傚畠鍙互榪斿洖涓嬮潰鎵鍒楅敊璇唬鐮侊細

銆銆ERROR_INSUFFICIENT_BJFFER錛汦RROR_INVALID_FLAGS錛?/p>

銆銆ERROR_INVALID_PARAMETER錛汦RROR_NO_UNICODE_TRANSLATION銆?/p>

銆銆娉ㄦ剰錛氭寚閽坙pMultiByteStr鍜宭pWideCharStr蹇呴』涓嶄竴鏍楓傚鏋滀竴鏍鳳紝鍑芥暟灝嗗け璐ワ紝GetLastError灝嗚繑鍥濫RROR_INVALID_PARAMETER鐨勫箋?/p>

ANSI鍜孶NICODE緙栫爜

浜岃呴兘鏄瓧絎︿唬鐮佺殑涓縐嶈〃紺哄艦寮?/p>

ANSI緙栫爜鐢?x88~0xFF鑼冨洿鐨?涓瓧鑺傛潵琛ㄧず1涓瓧絎︺?/p>

Unicode緙栫爜鏄浗闄呯粍緇囨寚瀹氱殑鍙互瀹圭撼涓栫晫涓婃墍鏈夋枃瀛楀拰鏈嶇殑瀛楃鐨勫瓧絎︾紪鐮佹柟妗堛傜敤鏁板瓧0~0x10FFFF鏉ユ槧灝勮繖浜涘瓧絎︺?/p>

鎴戠殑鐞嗚В錛氳鐧戒簡錛孉NSI緙栫爜鏄崟瀛楄妭錛孶nicode緙栫爜鏄瀛楃銆?/p>


鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/chocolateconanlan/archive/2009/04/09/4058868.aspx



Hsssssss 2011-06-04 17:00 鍙戣〃璇勮
]]>
2021国产精品久久精品| 久久久久无码国产精品不卡| 免费精品国产日韩热久久| 日韩久久久久中文字幕人妻| 久久精品国产色蜜蜜麻豆| 久久精品国产亚洲AV不卡| 精品久久久久久国产免费了| 久久久久18| 亚洲国产成人久久精品99| 久久久精品国产| 久久中文骚妇内射| 久久精品成人免费看| 色综合久久综精品| 日本欧美国产精品第一页久久| 日韩中文久久| 久久香蕉国产线看观看精品yw| 国产精品一久久香蕉国产线看观看| 国产精品久久99| 久久精品无码一区二区三区日韩| 免费一级做a爰片久久毛片潮| 久久人与动人物a级毛片| 久久久精品国产sm调教网站| 美女写真久久影院| 色婷婷综合久久久久中文字幕| 久久婷婷五月综合国产尤物app | 国产午夜精品理论片久久| 国产成人久久久精品二区三区| 亚洲色欲久久久久综合网| 久久男人Av资源网站无码软件| 国产午夜精品久久久久免费视| 爱做久久久久久| 久久久久se色偷偷亚洲精品av| 国产精品一久久香蕉产线看| 久久综合久久综合亚洲| 国产精品久久久久…| 亚洲欧美久久久久9999| 久久久精品免费国产四虎| 模特私拍国产精品久久| 狠狠精品干练久久久无码中文字幕| 狠狠精品久久久无码中文字幕| 亚洲国产精品久久久久婷婷老年|