c 學習筆記(五) 字串

2021-07-25 03:23:50 字數 2177 閱讀 6621

1.1.1字元

字元用單引號包含,實際上代表乙個整數,整數值就是這個字元的ascii值大小,如『a』跟97(十進位制)的含義是嚴格一致的,甚至可以互換。

char ch=』a』;

printf(「%c」,a);

1.1.2字串

標頭檔案#include

雙引號括起來的字元,實際代表乙個指向無名陣列起始字元的指標,這個無名陣列被雙引號之間的字串和乙個字元『\0』初始化,而且這個陣列內部資料是唯讀的,無法修改。

表示方法有:

// 字元陣列形式,由字串」abcd」和』\0』組成,可以修改值,即可以執行a[2]=』s』;越界不會報錯,即可訪問a[1000].

char str=」abcd」;

printf(「%s」,str);//輸出字串

printf(「%c」;str[1000]);//輸出字元

printf(「%c」;*(str+1000));//輸出字元

// 字元陣列形式,由字串」abcd」和』\0』組成,不可修改值,越界不會報錯,即可訪問a[1000].

char *str=」abcd」;

printf(「%s」,str);//輸出字串

printf(「%c」;str[1000]);//輸出字元

printf(「%c」;*(str+1000));//輸出字元

// 字串常量,可以這樣使用

printf(「%s」,」abcd」);//輸出字串

printf(「%c」;*[「abcd」+1]);//輸出字元

// 通過巨集定義定義字串,相當於str=」abcd」;

#define str 「abcd」

printf(「%s」,str);//輸出字串,這能這樣做

1.1.3關於字串結尾的』\0』

在c語言中,字串就是一串以nul位元組結尾的字串行。nul雖是字串的終結符,但它本身並不是字串的一部分。nul是ascii字符集中 『\0』 字元的名字,是1個位元組域的全0;null是乙個數值為0的指標,通常是占用4個位元組域的全0。雖然它們都是0,甚至某些場合可以互換使用(不考慮資料寬度),但實際工程中還是要使用適當的常量,因為它可以傳遞給讀者更多資訊。

參見2.c++字串

2.1字元

和c語言char一樣。

2.2字串

標頭檔案#include

c++中的字串string是乙個類,具體使用方法參見

2.2.1字串分割

a).使用strtok函式分割(c函式)

stringstr = "1 1 2 3 4;4 5 8 6 4;54 5 4";

char *str1 = (char*)str.c_str();//轉化為c風格的字串

char *temp;

cout << strtok(str1,";") << endl;

while (temp=(strtok(null, ";")))

//該函式在處理乙個字串時第一次呼叫第乙個引數是string,但第二次呼叫第乙個引數必須為null,否則它只會從字串的開始進行分割,不會接著上面一次分割完的子串進行分割,因此用迴圈的話第一次呼叫要區分開。

b).使用stl庫的函式進行分割

std::vectorsplit(std::string str,std::string pattern)

}

return result;

}

c).使用boost庫函式進行分割

Python學習筆記(五) 字串

以mark lutz著的 python學習手冊 為教程,每天花1個小時左右時間學習,爭取兩周完成。寫在前面的話 2013 7 17 19 50 學習筆記 1,在python中,單引號和雙引號的是一樣的。2,在字串前使用r可以關閉字元轉義,使用u或u則表示unicode字串。可以混合使用u和r。在un...

Ruby 學習(五)字串String

常用 api str integer 拼接比較 str obj 字串擷取 大小寫 str.chop 替換 str.replace other str 反轉 str.reverse str.reverse text hello world text1 print text1 輸出 hello worl...

python學習筆記(五) 字串操作總結

去除字串空格 不修改原字串 strs abcdefg strs1 strs.strip 去除字串左右兩端空格 strs2 strs.lstrip 去除字串左端空格 strs3 strs.rstrip 去除字串右端空格 print strs,strs1,strs2,strs3 strip不會修改原字串...