两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

一、C++ 字符串

C++ 提供了以下兩種類型的字符串表示形式:

(1)C 風(fēng)格字符串

(2)C++ 引入的 string 類類型


二、C 風(fēng)格字符串

C 風(fēng)格的字符串起源于 C 語言,并在 C++ 中繼續(xù)得到支持。字符串實際上是使用null字符\0終止的一維字符數(shù)組。因此,一個以 null 結(jié)尾的字符串,包含了組成字符串的字符。

下面的聲明和初始化創(chuàng)建了一個RUNOOB字符串。由于在數(shù)組的末尾存儲了空字符,所以字符數(shù)組的大小比單詞RUNOOB的字符數(shù)多一個。

char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};

依據(jù)數(shù)組初始化規(guī)則,您可以把上面的語句寫成以下語句:

char site[] = "RUNOOB";

以下是 C/C++ 中定義的字符串的內(nèi)存表示:

 C/C++ 中定義的字符串的內(nèi)存表示

C++ 中有大量的函數(shù)用來操作以 null 結(jié)尾的字符串:

序號函數(shù) & 目的
1strcpy(s1, s2);

復(fù)制字符串 s2 到字符串 s1。

2

strcat(s1, s2);

連接字符串s2到字符串s1的末尾。連接字符串也可以用+號,例如:

string str1 = "runoob";
string str2 = "google";
string str = str1 + str2;
3

strlen(s1);

返回字符串 s1 的長度

4

strcmp(s1, s2);

如果 s1 和 s2 是相同的,則返回 0;如果 s1<s2 則返回值小于 0;如果 s1>s2 則返回值大于 0。

5strchr(s1, ch);
返回一個指針,指向字符串 s1 中字符 ch 的第一次出現(xiàn)的位置。
6

strstr(s1, s2);

返回一個指針,指向字符串 s1 中字符串 s2 的第一次出現(xiàn)的位置。

下面的實例使用了上述的一些函數(shù):

#include <iostream>#include <cstring>
 using namespace std; 
int main (){
   char str1[13] = "runoob";   char str2[13] = "google";   char str3[13];   int  len ; 
   // 復(fù)制 str1 到 str3
   strcpy( str3, str1);   cout << "strcpy( str3, str1) : " << str3 << endl; 
   // 連接 str1 和 str2
   strcat( str1, str2);   cout << "strcat( str1, str2): " << str1 << endl; 
   // 連接后,str1 的總長度
   len = strlen(str1);   cout << "strlen(str1) : " << len << endl; 
   return 0;}

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:

strcpy( str3, str1) : runoob
strcat( str1, str2): runoobgoogle
strlen(str1) : 12


三、C++ 中的 String 類

C++ 標(biāo)準(zhǔn)庫提供了 string 類類型,支持上述所有的操作,另外還增加了其他更多的功能。我們將學(xué)習(xí) C++ 標(biāo)準(zhǔn)庫中的這個類,現(xiàn)在讓我們先來看看下面這個實例:

#include <iostream>#include <string>
 using namespace std; 
int main (){
   string str1 = "runoob";   string str2 = "google";   string str3;   int  len ; 
   // 復(fù)制 str1 到 str3
   str3 = str1;   cout << "str3 : " << str3 << endl; 
   // 連接 str1 和 str2
   str3 = str1 + str2;   cout << "str1 + str2 : " << str3 << endl; 
   // 連接后,str3 的總長度
   len = str3.size();   cout << "str3.size() :  " << len << endl; 
   return 0;}

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:

str3 : runoob
str1 + str2 : runoobgoogle
str3.size() :  12


點贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:

一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運行等待時間)