string類:
ps:更多資料結構知識詳見:
常見陣列結構與演算法
char greeting=
"hello"
;//字串初始化用雙引號,字元初始化用單引號
cout/列印hello
strcpy(s1,s2);
strcat(s1, s2);
strlen(s1); //返回s1的長度(不加』\0』)sizeof(s1)返回字串陣列大小
strcmp(s1, s2); //如果 s1 和 s2 是相同的,則返回 0;如果 s1s2 則返回值大於 0。
strchr(s1, ch); //返回乙個指標,指向字串 s1 中字元 ch 的第一次出現的位置。
strstr(s1, s2); //返回乙個指標,指向字串 s1 中字串 s2 的第一次出現的位置。
//使用strchr(s1, ch)
char first[20]
="hello"
;char
*p =
strchr
(first, 『l』)
;cout << p << endl;
//輸出llo
//string初始化
string str1
("abcd");
string str2(5
,'a');
//5個a
string str2(5
,'abc');
//5個c
string str3
("abcdefghijk",3
);//abc
string str4 (
"abcdefghijk",3
,5);
//從第三個位置開始取5個字元
string s1=
"abc"
;
1.增加函式:
使用+
string s1
("abc");
string s2
("def");
//使用+
string s3=s1+s2;
s1.(s2)
;s1.(3
,'k');
s1.(s2,1,
2);//增加s2從1位開始的兩位字元
使用insert
跟vector的insert不一樣,vector的insert第乙個元素一定是乙個迭代器,不能是整數,而string的insert都可以使用
//使用insert
s1.insert(2
,"def");
s1.insert(2
,s2,1,
2);//插入s2的1位開始的兩個字元
s1.insert(2
,s2)
;s1.
insert
(s1.
begin()
,'1');
s1.insert
(s1.
begin()
,3,'1'
);
2.刪除函式:
使用erase
跟vector不一樣,vector使用的迭代arr.begin()+n
string可以使用迭代器和數字,並且使用迭代器和數字是代表的含義不一樣
s1.
erase(1
,2);
//從1位開始的兩個字元
s1.erase(1
);//刪除1位後面的所有字元
s1.erase
(s1.
begin()
+1);
//只刪除1位的字元
3.修改函式:
使用replace
//使用replace
string s1=
"1234567"
;s1.
replace(2
,3,"abcdefg",2
,4);
//用cdef替換345
s1.replace(2
,3,5
,'0');
//用5個0替換345
使用assign
//使用assign
s1.assign(4
,'a'
);
使用swap
//使用swap
s1.swap
(s2)
;swap
(s1,s2)
;
4.判斷函式:
使用compare
//使用compare
string s
("abcd");
s.compare
("abcd");
//返回0
s.compare
("dcba");
//返回乙個小於0的值
s.compare
("ab");
//返回大於0的值
s.compare
(s);
//相等
s.compare(0
,2,s,2,2
);//用"ab"和"cd"進行比較 小於零
s.compare(1
,2,"bcx",2
);//用"bc"和"bc"比較。
使用<,>
string s1
("real");
string s2
("abdc");
int a = s1 > s2;
cout << a << endl;
//輸出1
5.遍歷函式:
使用find
注意find_first_of和find_last_of的區別
//使用find
string str=
"1234eqsabababcdefg"
;str.
find
("ab");
//返回字串 ab 在 str 的位置
str.
find
("ab",2
);//在 str[2]~str[n-1] 範圍內查詢並返回字串 ab 在 str 的位置
str.
rfind
("ab",2
);//在 str[0]~str[2] 範圍內查詢並返回字串 ab 在 str 的位置
str.
find_first_of
("ab");
str.
find_first_of
("ab",2
);//返回ab中任何乙個字元首次在 str[2]~str[n-1] 範圍**現的位置
str.
find_last_of
("23");
//返回23中任何乙個字元最後一次在 str **現的位置
str.
find_last_of
("23",2
);//返回23中任何乙個字元最後一次在 str[0]~str[2] 範圍**現的位置
6.其他函式:
使用getline
string str;
getline
(cin,str)
;
string轉換
string a=「1234」;
int b=
atoi
(a.c_str()
);int a=
123;
string b=
to_string
(a);
使用substr
string s=
"abcdefg"
;string s1=s.
substr(1
,3);
//bcd
string s2=s.
substr(4
);//efg
C 字串基本操作
在 c 語言中,字串是由數字 字母 下劃線組成的一維字元陣列,並且使用 null 字元 0 作為終止符號。字串在儲存上類似字元陣列,所以它每一位的單個元素都是可以提取的,如s abcdefg 則s 0 a s 1 b 字元實際上是以對應的ascii數值的形式在記憶體中儲存的。對乙個字元強制轉換成in...
C 字串基本操作
一 知乎總結 1 string類介紹 2 容器操作 3 修改 4 查詢 5 比較 二 常用操作 c風格字串 c風格字串初始化 c風格字串常見操作 string類 string類初始化 string類常見操作 char greeting hello 字串初始化用雙引號,字元初始化用單引號 cout s...
python字串及基本操作
字串是字元的有序序列,可以對其中的字元進行索引,在索引的時候,字串是從0開始變好的 字串有兩類共四種表示方法 由一對單引號或者雙引號表示,僅表示單行字串 請輸入帶有符號溫度的溫度值 或者 c 由一堆三單引號或者三雙引號表示,可表示多行字串 python 語言 大家可能會疑惑,三單引號或雙引號不是注釋...