精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C++ Cstring應用方法概述

開發 后端
大家可能對STL中的string類有所了解,不過對C++ Cstring可能還是有些陌生。在這里我們將會為大家詳細介紹有關C++ Cstring的相關概念。

C++編程語言是一個應用廣泛,功能強大的編程語言。在開發人員眼中,這一編程語言在程序開發中占據著重要的地位。在C++語言中,CString類功能強大,比STL的string類有過之無不及.新手使用CString時,都會被它強大的功能所吸引.然而由于對它內部機制的不了解,新手在將C++ Cstring向C的字符數組轉換時容易出現很多問題.因為CString已經重載了LPCTSTR運算符,所以CString類向const char *轉換時沒有什么麻煩,如下所示:

  1. char a[100];  
  2. CString str("aaaaaa");  
  3. strncpy(a,(LPCTSTR)str,sizeof(a)); 

或者如下:

  1. strncpy(a,str,sizeof(a)); 

以上兩種用法都是正確地.因為strncpy的第二個參數類型為const char *.所以編譯器會自動將C++ Cstring類轉換成const char *.很多人對LPCTSTR是什么東西迷惑不解,讓我們來看看:

1.LP表示長指針,在win16下有長指針(LP)和短指針(P)的區別,而在win32下是沒有區別的,都是32位.所以這里的LP和P是等價的.

2.C表示const

3.T是什么東西呢,我們知道TCHAR在采用UNICODE方式編譯時是wchar_t,在普通時編譯成char那么就可以看出LPCTSTR(PCTSTR)在UINCODE時是const wchar_t *,PCWSTR,LPCWSTR,在
多字節字符模式時是const char *,PCSTR,LPCSTR.

接下來我們看在非UNICODE情況下,怎樣將CString轉換成char *,很多初學者都為了方便采用如下方法:

  1. (char *)(LPCSTR)str. 

這樣對嗎?我們首先來看一個例子:

  1. CString str("aa");  
  2. strcpy((char *)(LPCTSTR)str,"aaaaaaaa");  
  3. cout<<(LPCTSTR)str<<endl

在Debug下運行出現了異常,我們都知道C++ Cstring類內部有自己的字符指針,指向一個已分配的字符緩沖區.如果往里面寫的字符數超出了緩沖區范圍,當然會出現異常.但這個程序在Release版本下不會出現問題.原來對CString類已經進行了優化.當需要分配的內存小于64字節時,直接分配64字節的內存,以此類推,一般CString類字符緩沖區的大小為64,128,256,512...這樣是為了減少內存分配的次數,提高速度.

那有人就說我往里面寫的字符數不超過它原來的字符數,不就不會出錯了,比如

  1. CString str("aaaaaaa");  
  2. strcpy((char *)(LPCTSTR)str,"aa");  
  3. cout<<(LPCTSTR)str<<endl

這樣看起來是沒什么問題.我們再來看下面這個例子:

  1. CString str("aaaaaaa");  
  2. strcpy((char *)(LPCTSTR)str,"aa");  
  3. cout<<(LPCTSTR)str<<endl;  
  4. cout<<str.GetLength()<<endl

我們看到str的長度沒有隨之改變,繼續為7而不是2.還有更嚴重的問題:

  1. CString str("aaaaaaa");  
  2. CString strstr1 = str;  
  3. strcpy((char *)(LPCTSTR)str,"aa");  
  4. cout<<(LPCTSTR)str<<endl;  
  5. cout<<(LPCTSTR)str1<<endl

按說我們只改變了str,str1應該沒有改變呀,可是事實時他們都變成了"aa".難道str和str1里面的字符指針指向的緩沖區是一個.我們在Effective C++里面得知,如果你的類內部有包含指針,請為你的類寫一個拷貝構造函數和賦值運算符.不要讓兩個對象內部的指針指向同一區域,而應該重新分配內存.難道是微軟犯了錯?

原來這里還有一個"寫時復制"和"引用計數"的概念.C++ Cstring類的用途很廣,這樣有可能在系統內部產生大量的CString臨時對象.這時為了優化效率,就采用在系統軟件內部廣泛使用的"寫時復制"概念.即當從一個CString產生另一個CString并不復制它的字符緩沖區內容,而只是將字符緩沖區的"引用計數"加1.當需要改寫字符緩沖區內的內容時,才分配內存,并復制內容.以后我會給出一個"寫時復制"和"引用計數"的例子我們回到主題上來,當我們需要將CString轉換成char *時,我們應該怎么做呢?其時只是麻煩一點,如下所示:

  1. CString str("aaaaaaa");  
  2. strcpy(str.GetBuffer(10),"aa");  
  3. str.ReleaseBuffer(); 

當我們需要字符數組時調用GetBuffer(int n),其中n為我們需要的字符數組的長度.使用完成后一定要馬上調用ReleaseBuffer();還有很重要的一點就是,在能使用const char *的地方,就不要使用char *

【編輯推薦】

  1. C++ static關鍵字詳細應用指南
  2. C++ const變量使用技巧總結
  3. C++解析#pragma指令具體操作方法詳解
  4. C++類繼承基本概念解析
  5. C++對象傳遞實際應用問題解疑
責任編輯:曹凱 來源: 博客園
相關推薦

2010-01-15 15:13:28

C++概述

2010-02-01 17:31:06

C++類成員

2010-02-05 10:46:10

C++文件流

2010-02-01 10:43:10

C++跨平臺應用

2010-02-05 17:49:24

C++常量引用

2017-04-11 08:50:22

應用開發云服務開源

2009-08-20 16:28:45

C#匿名方法

2010-01-25 17:29:10

C++語言

2010-01-22 13:59:34

Visual C++應

2010-02-06 17:27:03

C++ replace

2010-02-01 15:59:09

C++逗號操作符

2010-02-05 15:51:06

C++ explici

2010-02-01 15:26:44

C++ inline函

2010-02-06 13:58:13

C++ Bost庫

2010-02-02 16:49:32

C++中文字符

2009-08-24 14:19:27

C# Windows應

2009-08-27 17:39:51

C#多個方法的關聯

2009-04-12 09:16:30

Symbian諾基亞移動OS

2010-02-04 13:56:24

C++類模板特化

2010-02-04 16:26:54

C++二維數組new
點贊
收藏

51CTO技術棧公眾號

波多野结衣欧美| 中文字幕在线免费| 视频一区中文字幕| 日韩中文字幕在线播放| 麻豆传媒在线看| 免费看男女www网站入口在线| 久久久久亚洲蜜桃| 成人黄色片在线| 亚洲一区欧美在线| 日韩精品第一区| 精品久久久久一区二区国产| 久久精品网站视频| 成人影院在线观看| 久久九九影视网| 999热视频在线观看| 亚洲欧美一区二区三区在线观看| 色小子综合网| 日韩麻豆第一页| 一级黄色免费毛片| 欧美成人ⅴideosxxxxx| 一区二区三区日韩精品| 日产中文字幕在线精品一区| 成人激情四射网| 日韩高清不卡一区| 91福利视频网| 69av.com| 欧美成人激情| 亚洲精品自在久久| 日本在线不卡一区二区| 亚洲我射av| 欧美综合一区二区| 成人免费观看cn| 爆操欧美美女| 欧美国产日本视频| 久久久久无码国产精品一区| 精品国产乱码久久久久久蜜臀网站| 六月丁香综合| 91精品国产沙发| 青青草原国产视频| 希岛爱理一区二区三区| 国产亚洲精品一区二555| 亚洲激情 欧美| 中文一区二区三区四区| 91精品国产一区二区三区| 午夜欧美福利视频| 亚洲最新无码中文字幕久久| 婷婷久久综合九色国产成人 | 亚洲日本护士毛茸茸| 日韩一区二区三区资源| 极品美乳网红视频免费在线观看 | 国产第一页在线| 亚洲精品国产第一综合99久久 | 欧美疯狂性受xxxxx喷水图片| 不卡影院一区二区| 高清av不卡| 日韩欧美主播在线| 无码人妻精品一区二区三区在线| 2001个疯子在线观看| 亚洲成人在线观看视频| 大伊香蕉精品视频在线| av剧情在线观看| 疯狂做受xxxx欧美肥白少妇| 免费无码av片在线观看| 中文字幕高清在线播放| 色激情天天射综合网| 天天影视综合色| 国产精品第一国产精品| 欧美日本在线观看| 国产乱叫456| 深夜福利一区| 亚洲国产欧美一区二区三区同亚洲| 熟妇高潮一区二区| 一区二区三区四区在线看 | 伦xxxx在线| 亚洲欧美日韩小说| 六月婷婷激情综合| 精品丝袜在线| 欧美影片第一页| 欧美精品 - 色网| 成人h动漫精品一区二区器材| 亚洲大胆人体视频| 亚洲精品国产一区黑色丝袜| 欧美成人自拍| 欧美黄色片视频| 色婷婷av国产精品| 日本大胆欧美人术艺术动态| 91精品视频免费| 日日夜夜精品免费| 国产日韩欧美制服另类| 亚洲成年人专区| 国内激情视频在线观看| 欧美在线观看一二区| 国产高清999| 狼人天天伊人久久| 中文字幕亚洲无线码在线一区| 国产美女久久久久久| 亚洲美女啪啪| 国产乱肥老妇国产一区二| 成人福利小视频| 中文字幕精品—区二区四季| 欧美在线观看视频免费| 综合在线影院| 精品少妇一区二区三区在线播放| 国产中年熟女高潮大集合| 久久久久久久久99精品大| 性色av一区二区三区| 一级黄色录像大片| 91视频com| 97在线免费视频观看| 欧洲成人一区| 亚洲国产天堂久久国产91 | 成人黄色在线观看| 亚洲av成人精品日韩在线播放| 国产精品福利在线播放| 5月婷婷6月丁香| 精品91福利视频| 国产亚洲欧洲高清| 国产精品一区二区6| 国产在线一区二区| 视频一区亚洲| 三级中文字幕在线观看| 精品欧美一区二区久久| 可以免费看av的网址| 天堂久久久久va久久久久| 国产欧美日韩综合一区在线观看| 黄网站在线播放| 欧美视频一区二区三区四区 | 国内精品久久久久久久久久| 欧美激情在线一区二区三区| 欧美亚洲另类色图| 欧美精品国产白浆久久久久| 久久69精品久久久久久久电影好 | 亚洲一级免费视频| 日韩成人免费在线视频| 国产乱码精品1区2区3区| 亚洲日本精品国产第一区| 在线天堂中文资源最新版| 精品国产网站在线观看| 波多野结衣爱爱视频| 精品一区在线看| 亚洲欧美电影在线观看| 免费欧美电影| 亚洲丝袜一区在线| 狠狠人妻久久久久久综合| 99精品国产视频| www.射射射| 懂色av一区二区| 久久精品视频在线播放| 91精品国产色综合久久不8| 亚洲国产精品黑人久久久| 久久精品午夜福利| 国模吧精品视频| 国产精品91一区| 成人免费在线观看| 欧美日韩日日夜夜| 国产免费一区二区三区四区| 国产一区二区日韩精品| 国产日韩第一页| 视频亚洲一区二区| 国外视频精品毛片| 日韩精品视频无播放器在线看| 欧美日韩综合视频| 国内精品卡一卡二卡三| 免费不卡在线视频| 中文字幕一区二区三区乱码| 激情视频亚洲| 国内精品久久久久影院优 | 亚洲精品视频一二三区| 久久久久成人网| 香蕉视频免费在线看| 色综合天天视频在线观看 | 亚洲精品成a人| 国产人妻黑人一区二区三区| 欧美专区在线| 亚洲一区二区在线观| 成人网av.com/| 国内精品400部情侣激情| 欧美套图亚洲一区| 欧美日韩国产bt| 青青操国产视频| 91免费看`日韩一区二区| 黑人粗进入欧美aaaaa| 91精品蜜臀一区二区三区在线| 成人av片网址| 亚洲第一二三四区| 欧美人在线视频| 丝袜+亚洲+另类+欧美+变态| 欧美网站大全在线观看| 农村妇女精品一区二区| 久久人人97超碰com| 99日在线视频| 国产精品一级| 日本福利视频导航| 欧美一区二区三区久久| 91精品久久久久久久久久另类 | 亚洲不卡一区二区三区| 亚洲综合第一区| 成人免费观看av| 国产九九在线视频| 亚洲精品123区| 一本久道久久综合| 日本亚洲不卡| 97免费资源站| 福利一区视频| 91国内免费在线视频| 免费av不卡| 亚洲欧美精品一区| 蜜桃av噜噜一区二区三区麻豆| 91国产免费观看| 日韩 欧美 精品| 亚洲色图20p| 久久久精品成人| 26uuu色噜噜精品一区二区| 久久精品一卡二卡| 日本不卡在线视频| 日本免费不卡一区二区| 国产一区激情| 中文字幕成人一区| 国产精品免费99久久久| 精品久久久久久中文字幕动漫| www久久久| 国产精品免费在线免费| 在线观看v片| 久久久久久亚洲精品不卡| 国产在线激情视频| 中文字幕久久精品| 国产美女性感在线观看懂色av| 亚洲精品97久久| 亚洲AV午夜精品| 日韩一级二级三级| 91精品中文字幕| 欧美日韩一区中文字幕| 亚洲国产精品无码久久久| 都市激情亚洲色图| 天天插天天操天天干| 亚洲国产综合91精品麻豆| 成人在线观看高清| 日韩美女视频一区二区| 欧日韩不卡视频| 亚洲欧洲精品一区二区精品久久久| 无码h肉动漫在线观看| 99精品热视频| 日韩一级视频在线观看| 97se亚洲国产综合自在线不卡| 日本精品一二三区| 粉嫩av一区二区三区粉嫩| 野花视频免费在线观看| 久久精品国产精品青草| 蜜臀一区二区三区精品免费视频 | 国产精品久久久久久久久免费| 日韩大片欧美大片| 国产精品成人播放| 69堂精品视频在线播放| 国产精品日韩在线观看| 成人自拍av| 国产精品久久久久久av下载红粉 | 欧美人禽zoz0强交| 亚洲男人的天堂av| 国产福利片一区二区| 国产又黄又猛的视频| 亚洲精华一区二区三区| 精品综合在线| 免费欧美一区| 日韩欧美在线一区二区| 国产欧美日韩一区二区三区四区| 欧美日韩三区四区| 欧美日韩伦理在线免费| 亚洲自拍的二区三区| 91成人国产| 欧美在线视频全部完| 国内精品久久久久影院优| 国产网站无遮挡| 国产aⅴ综合色| 亚洲香蕉中文网| 97se狠狠狠综合亚洲狠狠| 久久精品—区二区三区舞蹈| 中文字幕第一区| 黄色一级片在线免费观看| 亚洲成人动漫av| 国产乱了高清露脸对白| jizz性欧美2| 国产伦精品一区| 中文字幕伦av一区二区邻居| 亚洲欧洲一区二区在线观看| 一区二区三区四区日韩| 50度灰在线观看| 国产一区二区高清| 日日干夜夜操s8| 国产白丝精品91爽爽久久| 51调教丨国产调教视频| 中文在线资源观看网站视频免费不卡 | 国产少妇在线观看| 香蕉成人伊视频在线观看| 7799精品视频天天看| 555夜色666亚洲国产免| 天堂а√在线8种子蜜桃视频| 最近2019中文字幕第三页视频| 成码无人av片在线观看网站| 51色欧美片视频在线观看| 欧美极品在线| 精品国产一区二区三区免费 | 欧美一级免费播放| 青娱乐精品视频| 无码成人精品区在线观看| 国产精品嫩草影院com| 在线看成人av| 欧美日韩国产经典色站一区二区三区 | 日韩av在线一区| 黄色在线免费| 国产精品91在线观看| 在线播放一区二区精品视频| 四虎一区二区| 久久成人国产| 任你躁av一区二区三区| 国产精品久久久久久久久免费桃花| 日本一二三区视频| 欧美一级片在线| 天堂аⅴ在线地址8| 国产成人综合久久| 国产精品极品在线观看| 最新欧美日韩亚洲| 日韩在线观看一区二区| 精品中文字幕在线播放| 亚洲免费三区一区二区| 欧美一级黄视频| 亚洲乱码av中文一区二区| 日本片在线观看| 川上优av一区二区线观看| 欧美一二区在线观看| 丰满爆乳一区二区三区| 国产成人8x视频一区二区| 男人的午夜天堂| 欧美日韩中字一区| 成人精品一区二区三区免费| 1769国产精品| 美女午夜精品| 一卡二卡三卡视频| 国产成人av福利| 国产 日韩 欧美 成人| 日韩精品专区在线影院重磅| 黄色网页在线观看| 91精品美女在线| 99久久99热这里只有精品| www.se五月| 亚洲欧洲精品一区二区三区 | 亚洲欧美国产视频| 欧美大胆性生话| 欧美大香线蕉线伊人久久| 国产视频欧美| 精品夜夜澡人妻无码av| 欧美日韩国产限制| 视频在线不卡| 日本不卡高字幕在线2019| 九九视频精品全部免费播放| 男人靠女人免费视频网站| 久久综合精品国产一区二区三区| 国产精品6666| 日韩精品中文字幕在线播放| 久久电影tv| 亚洲国产精品视频一区| 另类小说一区二区三区| 中日韩一级黄色片| 91精品一区二区三区在线观看| 国产在线观看免费麻豆| av日韩中文字幕| 一区二区日本视频| 中文字幕在线看高清电影| 在线视频观看一区| 日韩精品黄色| 99热国产免费| 日韩一级网站| 久久国产柳州莫菁门| 欧美日韩另类国产亚洲欧美一级| 国产在线观看av| 国产精品一区二区三区免费| 国产伦理一区| 91禁男男在线观看| 日韩欧美国产综合一区| av老司机免费在线| 色综合电影网| 国产成人av影院| 无码人妻丰满熟妇精品区| 日韩在线观看免费高清完整版| 91精品国产自产精品男人的天堂| 99精品人妻少妇一区二区| 国产精品国产三级国产aⅴ原创 | 福利一区在线观看| 日本高清不卡码| 精品国产拍在线观看| 超碰97成人| 国产精品igao| 亚洲一区二区在线免费观看视频 | 日韩精品一区二区三区久久| 欧美激情资源网| 国产 日韩 欧美 精品| 国产精品成熟老女人| 国产精品hd| www..com.cn蕾丝视频在线观看免费版 | 中文字幕精品在线观看| 久久久久女教师免费一区|