在學習C++之前 一般都是學過了C語言了
在C語言中 我們對字符串進行保存操作 使用的是char[]
但是在C++中 string比char[]的使用更為頻繁 常見 下面稍微講一下我對於string的認知
1.與其他的標准庫類型一樣 用戶程序需要使用String類型對象 就必須包含相關的頭文件 (為了編寫方便 需要提供合適的using聲明)
#include <string> using std::string;
2.string對象的定義與初始化
string s1;//創建空字符串 string s2("wo yao ac");//創建初始值為wo yao ac的字符串s2 string s3(s2);//創建s2的副本 s3值的改變 不影響s2 string s4(2,'a');//創建字符串s4 值為2個字符‘a’ string s5=s2+s3;//創建字符串s5 值為s2+s3
輸出結果 為
3.string的讀寫
在C中 我們使用 下面倆種方法讀入字符串
scanf("%s",s1);
gets(s1);
而在C++中 string類型的數據使用的讀入方法是cin
cin>>s1;
讀取並忽略開頭的所以空白字符 讀取字符串至再次遇到空白字符為止 類似於scanf("%s",s1);
不過在解決問題的時候 我們不可能只需要保存連續的非空字符
這時候我們就需要一個像gets()一樣的讀入方法 getline(cin,s1);
4.string對象的操作
s1.empty(); //判斷s1是否為空 是就返回true 不是就返回false s2.size(); //返回s2中的字符數目 s1[i]; //返回s1中下標為i的那個字符 s1+s2; //返回一個字符串 其等於s1的值后面緊接着s2 s1=s2; //將s2的值付給s1
s1==s2 //比較s1與s2的值,相等就返回true 不然就返回false
注意:string類型的字符串也可以使用> < 比較大小
5.string對象中字符的處理