C++字符串有哪些用法

這篇文章主要為大家展示了“C++字符串有哪些用法”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“C++字符串有哪些用法”這篇文章吧。

站在用戶的角度思考問題,與客戶深入溝通,找到長壽網(wǎng)站設(shè)計與長壽網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋長壽地區(qū)。

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

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

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

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

a) strcpy()函數(shù)

b) strcat()函數(shù)

c) strlen()函數(shù)

d) strcmp()函數(shù)

e) strlwr()函數(shù):大寫變?yōu)樾?/p>

f) strupr()函數(shù),小寫變?yōu)榇髮?/p>

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

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

#include < iostream> using namespace std;  int main()  {  char a[] = {"hello"};  char b[] = {'h','e','l','l','o'};  int la = 0;  int lb = 0;  cout< < "The length of a[]:"< < sizeof(a)/sizeof(char)< < endl;  cout< < "The length of b[]:"< < sizeof(b)/sizeof(char)< < endl;  system("Pause");  return 0;  }

可以修改程序:

#include < iostream> using namespace std;  int main()  {  char a[] = {"hello"};  char b[] = {'h','e','l','l','o','\0'};  int la = 0;  int lb = 0;  cout< < "b="< < b< < endl;  cout< < "The length of a[]:"< < sizeof(a)/sizeof(char)< < endl;  cout< < "The length of b[]:"< < sizeof(b)/sizeof(char)< < endl;  system("Pause");  return 0;  }

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

#include < iostream> using namespace std;  int main()  {  char a[] = {"hello"};  char b[] = {'h','e','l','l','o','\0'};  a++;  system("Pause");  return 0;  }

編譯報錯。

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

#include < iostream> using namespace std;  int main()  {  char s[] = "abc";  char* p = "abc";  s[0] = 'x';  cout< < s< < endl;  //p[0] = 'x'; 編譯報錯  cout< < p< < endl;  system("Pause");  return 0;  }

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

以上是“C++字符串有哪些用法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:C++字符串有哪些用法
分享地址:http://muchs.cn/article14/ihsjge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、關(guān)鍵詞優(yōu)化、軟件開發(fā)、網(wǎng)站導(dǎo)航網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司