1.c++ 有兩種風格的字串形式
c風格字串
定義及初始化
char a=
或者char a=「hello」; //c++ 編譯器會在初始化陣列時,自動把 『\0』 放在字串的末尾
輸出:cout《長度:strlrn(a);
string型別
定義及初始化:
string a=「hello」;
輸出:cout《長度:a.size();
2.string型別的字串運算和函式
在以字元陣列存放字串時,字串的運算要用字串函式,如strcat(連線)、strcmp(比較)、strcpy(複製),而對string類物件,可以不用這些函式,而直接用簡單的運算子。
這是因為模板庫中過載了例如 + 、+= 、= 的運算子。
1).字串複製用賦值號
string1=string2;
其作用與「strcpy(string1,string2);」相同。
2).字串連線用加號
string string1=″c++″; //定義string1並賦初值
string string2=″language″;//定義string2並賦初值
string1=string1 + string2;//連線string1和string2
連線後string1為″c++ language″。
3)字串比較直接用關係運算子
可以直接用 ==(等於)、>(大於)、<(小於)、!=(不等於)、>=(大於或等於)、<=(小於或等於)等關係運算子來進行字串的比較。
使用這些運算子比使用5.5.5節中介紹的字串函式直觀而方便
4)獲取字串的第乙個字元 獲取字串的最後乙個字元
string::const_iterator it = str1.begin();
cout << *it << endl;
cout << endl;
it = str1.end();//end是指向最後乙個字元後面的元素,而且不能輸出,所以cout << *it << endl;這樣輸出會報錯
it--;
cout << *it << endl;
cout << endl;
5)倒置串
reserve(str.begin(),str.end());
6)查詢串
//find-從指定位置起向後查詢,直到串尾
string st1("babbabab");
cout << st1.find('a') << endl; //1 預設從位置0(即第1個字元)開始查詢
cout << st1.find('a', 2) << endl; //4 在st1中,從位置2(b,包括位置2)開始,查詢a,返回首次匹配的位置
string st2("aabcbcabcbabcc");
str1 = "abc";
cout << st2.find(str1, 2) << endl;//6 從st2的位置2(b)開始匹配,返回第一次成功匹配時匹配的串(abc)的首字元在st2中的位置,失敗返回-1
7)擷取字串
str.substr(startpos,length); //從str的startpos位置擷取length長度的字串
努力成為一名改變世界的軟體工程師,不要放任自己,甘心當乙個**的搬運工 C string和int型別的轉換方法
總結一下c 中string和int的兩種轉換方法。第一種 使用c標準庫中的函式atoi 和itoa include include using namespace std int main 注意在這個方法中vs中會報告出現不安全,在配置屬性 c c 預處理器加入 crt secure no warn...
C string 特殊的引用型別
net 框架程式設計 修訂版 中有這樣一段描述 string型別直接繼承自object,這使得它成為乙個引用型別,也就是說執行緒上的堆疊上不會駐留有任何字串。譯註 注意這裡的 直接繼承 直接繼承自object的型別一定是引用型別,因為所有的值型別都繼承自system.valuetype。值得指出的是...
C string的常用方法
1 向string的後面加c string string s hello const char c out here s hello out here 2 向string的後面加c string的一部分 string s hello const char c out here s hello out...