字元陣列操作:
1.字串初始化:
1-1.字串是由字元所組成的陣列,並在最後加上一個空字元'\0',例如:char str[ ] ={'h','e', 'l', 'l', 'o', '\0'}。
1-2.可以用char str[ ] = "hello"的方式來宣告。
1-3.不可以用char str[80]; str = "Just";的方式來宣告,要一個字元一個字元指定至陣列中,並在最後加上空白字元,例如:
    char str[80]; 
    str[0] = 'J';     str[1] = 'u';     str[2] = 's';     str[3] = 't';     str[4] = '\0';
2.可以直接使用字串名來輸出,例如:cout << str << endl;
3.字串是字元陣列,所以可以使用陣列的存取方式取出每一個字元,空字元在作條件判斷時會被視為0。
4.字元陣列可用函式:
4-1.strcpy(str1, str2):str2字串複製給str1字串
4-2.strcat(str1, str2):str2字串串接在str1字串後 
4-3.strlen(str):計算不含空字元的字串長度
4-4.strcmp(str1, str2):比較兩個字串(若相同傳回0,str1較大則傳回大於0的值,較小則傳回小於0的值)
5.字元陣列為陣列一種,所以無法將字串指定給另一個字串,也無法對兩個字串進行串連的動作,例如:
    char str1[] = "text1";
    char str2[] = "text2";
    str1 = str2; (錯誤)
    char str3[] = str1 + str2; (錯誤)

字元指標:
1.字元指標在字串指定操作時較方便,例如字元指標可以(字元陣列不行):
    char *str = "hello";
    str = "world";
2.上述的"hello"與"world"各佔有一塊記憶體空間,兩者指向的記憶體位址不相同。
3.也可以在字元指標中使用陣列,例如char *str[ ]={"Michael","Jeff","Tino"},其中str[1]="Michael"。

string 類別:
1.C++標準函式庫提供了string類別,可以使用這個類別來進行字串處理,像是指定、串接等,要使用需含入表頭檔(#include <string>)再加上命名空間:
2.string建構:
2-1.string str1; 建立一個string物件,內容為空字串
2-2.string str2("caterpillar");  
2-3.string str3(str2);
2-4.string str4 = "Michael";
2-5.string str5("A",4); 字串"AAAA"
2-6.string str6(str2,0(起始),5(長度)); 字串"cater"  
3.可以使用size( )來測試字串長度,empty()來測試字串是否為空,使用==比較兩個字串的字元內容是否相同,使用 operator + 來串接字串,下標運算子[ ]來取得相對應的字元。
4.可以將一個C- Style的字串指定給string,但是不能將一個string實例指定給字元陣列。
5.有些函式運用和vector很像
6.如果使用cin來取得輸入字串,輸入字串時中間不能包括空白,如果想要包括空白可getline,例如:string s;  getline(cin,s)

arrow
arrow
    全站熱搜

    阿洲 發表在 痞客邦 留言(0) 人氣()