5 9 C 處理字串方法

2021-06-29 00:39:55 字數 2061 閱讀 3966

用字元陣列來存放字串並不是最理想和最安全的方法。

c++提供了一種新的資料型別——字串型別(string型別),在使用方法上,它和char、int型別一樣,可以用來定義變數,這就是字串變數——用乙個名字代表乙個字串行。

實際上,string並不是c++語言本身具有的基本型別,它是在c++標準庫中宣告的乙個字串類,用這種類可以定義物件。每乙個字串變數都是string類的乙個物件。

1) 定義字串變數

和其他型別變數一樣,字串變數必須先定義後使用,定義字串變數要用類名string。如:

string string1;  //定義string1為字串變數

string string2=″china″;  //定義string2同時對其初始化

應當注意:要使用string類的功能時,必須在本檔案的開頭將c++標準庫中的string標頭檔案包含進來

,即應加上

#include //注意頭檔名不是string.h

2) 對字串變數的賦值

在定義了字串變數後,可以用賦值語句對它賦予乙個字串常量,如:

string1=″canada″;

既可以用字串常量給字串變數賦值,也可以用乙個字串變數給另乙個字串變數賦值。如:

string2=string1; //假設string2和string1均已定義為字串變數

不要求string2和string1長度相同,假如string2原來是″china″,string1原來是″canada″,賦值後string2也變成″canada″。在定義字串變數時不需指定長度,長度隨其中的字串長度而改變。

可以對字串變數中某一字元進行操作,如:

string word=″then″;  //定義並初始化字串變數word

word[2]=′a′;  //修改序號為2的字元,修改後word的值為″than″

3) 字串變數的輸入輸出

可以在輸入輸出語句中用字串變數名,輸入輸出字串,如:

cin>> string1;  //從鍵盤輸入乙個字串給字串變數string1

cout<< string2; //將字串string2輸出

在上一節中可以看到: 在以字元陣列存放字串時,字串的運算要用字串函式,如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) 字串比較直接用關係運算子

可以直接用 ==(等於)、>(大於)、=(大於或等於)、<=(小於或等於)等關係運算子來進行字串的比較。

不僅可以用string定義字串變數,也可以用string定義字串陣列。如:

string name[5]; //定義乙個字串陣列,它包含5個字串元素

string name[5]=;  //定義乙個字串陣列並初始化

此時name陣列的狀況如圖5.11所示。

圖5.11

關於字串陣列的幾點說明:

可見用字串陣列存放字串以及對字串進行處理是很方便的。

在定義字串陣列時怎樣給陣列分配儲存空間呢?實際上,編譯系統為每乙個字串變數分配4個位元組,在這個儲存單元中,並不是直接存放字串本身,而是存放字串的位址。在本例中,就是把字串″zhang″的位址存放在name[0],把字串″li″ 的位址存放在name[1],把字串″fun″的位址存放在name[2]……圖5.11只是乙個示意圖。在字串變數中存放的是字串的指標(字串的位址)。

字串處理方法

獲取字串中多個相同字元的位置index 解決方法 先遍歷astring 找到所有的abc 所在位置的index,然後通過index 將字串進行替換 nsmutablearray getrangestr nsstring text findtext nsstring findtext 獲取第一次出現的...

字串處理方法

js中三種基本資料型別,都有對應的物件型別 布林有布林物件 數字有數字物件 基本型別是乙個簡單的資料,沒有屬性 但是js中的基本資料型別可以 當做物件使用 1.當對乙個基本資料型別打點訪問屬性或方法時 js會臨時將這個資料的值封裝成乙個對應型別的物件,然後使用這個物件調屬性或方法,這個過程叫做自動裝...

C 處理字串的方法 字串類與字串變數

用字元陣列來存放字串並不是最理想和最安全的方法 c 提供了一種新的資料型別 字串型別 string型別 在使用方法上,它和char int型別一樣,可以用來定義變數,這就是字串變數 用乙個名字代表乙個字串行 實際上,string並不是c 語言本身具有的基本型別,它是在c 標準庫中宣告的乙個字串類,用...