C++ char數組和string類簡單使用總結


使用char數組,進行字符串的操作,是c風格的操作方式。

string是C++的風格,感覺string本質上就是一個vector<char>

以下代碼詳細展示了字符串的常見操作

 1 #include <iostream>  
 2 #include <string>               // make string class available  
 3 //#include <cstring>              // C-style string library  
 4 int main()  
 5 {  
 6     using namespace std;  
 7   
 8     //char數組的用法  
 9     char charr1[20];  
10     int num1 = strlen(charr1);//沒有初始化的char數組,長度是未知的,原因是需要遇到‘\0’才結束  
11       
12     char charr2[] = "lilei,nihao";//編譯器會自動計算長度  
13     char charr3[100] = "lilei,nihao";  
14     int goodFrameCount = 100;  
15     sprintf_s(charr3, "chess%d.jpg", goodFrameCount);//這種用法重點學習  
16     int num2 = strlen(charr3);//num2=12,strlen函數只計算可見的字符  
17     int num3 = sizeof(charr3); //num3=100,sizeof計算整個數組的長度  
18   
19     char charr4[20];  
20     //cin >> charr4;//注意兩點:1、遇到空格,認為結束;  
21     //cout << charr4 << endl; //2、當輸入的字符串長度超過charr4的長度時,也是可以顯示出來的,但不推薦使用  
22       
23     cin.getline(charr4, 20);     // indicate maximum length,此種方法就可以輸入包含空格的字符串了  
24     cout << charr4 << endl;  
25       
26     char charr5[20];  
27     char charr6[20] = "jaguar";  
28     strcpy_s(charr5, charr6);//賦值操作, charr6內容賦值給charr5  
29     strcat_s(charr5, " juice");//添加到末尾  
30   
31   
32   
33   
34     //string類的用法  
35     //string類,感覺本質上講,就是一個vector<char>  
36     string str;  
37     int number1 = str.size();//計算個數,未初始化時,個數為0,區別於char數組  
38   
39     //cin >> str;  
40     //cout << str << endl;//同樣存在的問題,字符串之間不能夠有空格,空格就意味着‘\0’結束的標志  
41   
42     getline(cin, str);  
43     cout << str << endl;//就可以輸入含空格的字符串了  
44   
45     string s1 = "penguin";  
46     string s2, s3;  
47     s2 = s1;//string的賦值簡單多了  
48     s2 = "buzzard";  
49     s3 = s1 + s2;//字符串合並  
50     s1 += s2;//將字符串s2添加到s1的末尾,s1的內容發生了改變  
51     s2 += " for a day";//同樣是加到s2的末尾  
52   
53     return 0;  
54 }  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM