日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
C++字符串各種用法講解

大家知道,C++編程語(yǔ)言中,對(duì)于字符串的操作是一個(gè)比較基礎(chǔ)而且重要的操作技巧。C++字符串一般情況下可以通過(guò)以下兩種形式進(jìn)行表示,分別為;傳統(tǒng)字符串,以及字符數(shù)組這兩種。#t#

慶城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!

1.C++字符串之 傳統(tǒng)字符串

a) char ch1[] = {“l(fā)iangdiamond”}

b) char ch2[] = {“hello world”}

其中關(guān)于傳統(tǒng)字符串,有幾個(gè)常用的函數(shù)

a) strcpy()函數(shù)

b) strcat()函數(shù)

c) strlen()函數(shù)

d) strcmp()函數(shù)

e) strlwr()函數(shù):大寫(xiě)變?yōu)樾?xiě)

f) strupr()函數(shù),小寫(xiě)變?yōu)榇髮?xiě)

2. C++字符串之字符數(shù)組

從表面上看,一個(gè)字符串是一個(gè)字符數(shù)組,但在c++語(yǔ)言中,它們不同。字符串是以’\0’結(jié)束的字符型數(shù)組。下面這段代碼展示字符串和字符數(shù)組的區(qū)別:

 
 
 
  1. #include < iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. char a[] = {"hello"};
  6. char b[] = {'h','e','l','l','o'};
  7. int la = 0;
  8. int lb = 0;
  9. cout< < "The length of a[]:"< < sizeof(a)/sizeof(char)< < endl;
  10. cout< < "The length of b[]:"< < sizeof(b)/sizeof(char)< < endl;
  11. system("Pause");
  12. return 0;
  13. }

可以修改程序:

 
 
 
  1. #include < iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. char a[] = {"hello"};
  6. char b[] = {'h','e','l','l','o','\0'};
  7. int la = 0;
  8. int lb = 0;
  9. cout< < "b="< < b< < endl;
  10. cout< < "The length of a[]:"< < sizeof(a)/sizeof(char)< < endl;
  11. cout< < "The length of b[]:"< < sizeof(b)/sizeof(char)< < endl;
  12. system("Pause");
  13. return 0;
  14. }

但是數(shù)組名就是數(shù)組的首地址,所以數(shù)組名本身就可以理解為一個(gè)指針,只不過(guò),它是指針常量,所謂指針常量,就是指針不能改變所指向的地址了,但是它所指向的地址中的值可以改變。
例如:

 
 
 
  1. #include < iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. char a[] = {"hello"};
  6. char b[] = {'h','e','l','l','o','\0'};
  7. a++;
  8. system("Pause");
  9. return 0;
  10. }

編譯報(bào)錯(cuò)。

C++字符串中字符數(shù)組和字符指針雖然在形式上很接近,但在內(nèi)存空間的分配和使用上還是有很大差別。數(shù)組名不是一個(gè)運(yùn)行時(shí)的實(shí)體,因此數(shù)組本身是有空間的,這個(gè)空間由編譯器負(fù)責(zé)分配。而指針是一個(gè)變量(運(yùn)行時(shí)實(shí)體),它所指向的空間是否合法要在運(yùn)行時(shí)決定。

 
 
 
  1. #include < iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. char s[] = "abc";
  6. char* p = "abc";
  7. s[0] = 'x';
  8. cout< < s< < endl;
  9. //p[0] = 'x'; 編譯報(bào)錯(cuò)
  10. cout< < p< < endl;
  11. system("Pause");
  12. return 0;
  13. }

S的地址和p所指向的地址并不是一個(gè)地方,可以推斷0x00417704是常量區(qū)。所以貌似不能改。用反匯編其實(shí)看的更清楚一點(diǎn)。指針好就好在它能指向內(nèi)存,不是ROM 區(qū)的好似都能改。

以上就是對(duì)C++字符串的相關(guān)介紹。


網(wǎng)頁(yè)標(biāo)題:C++字符串各種用法講解
當(dāng)前URL:http://www.5511xx.com/article/ccecied.html