/******************************
定義為string
型別******************************/
6.string 型別變數的賦值:
①直接賦值 str1 = str2;
②使用assign 函式:可以取第二個字串的任意字元給字串一
stringstr1 = 「abcd」;
stringstr2 = 「efg」;
str2.assign(str1,1, 3); //(字串名,起始元素,賦值個數)
out: str1:abcd
str2:bcd
※string型別可自動調整字串大小
7.string型別字串全部合併
str1+ str2;
char
型別字元陣列要使用
strcat
函式實現合併
strcat
函式將字串
2合併給字串
1,因此
1要能放下兩個字串
8.string 型別字串部分合併
str1= 「abcd」;
str2= 「efg」;
out: str1:abcdef
str2:efg
char
型別字元陣列的部分合併要使用
strncat 函式
char ch1 = 「abcd」;
char ch2 = 「efg」;
strncat(ch1, ch2, 2); //(
被合併陣列名,合併陣列名,合併個數)
out: ch1: abcdef
ch2:efg
※只能從首位置開始向後合併
9.string 型字串的替換
使用 replace 函式
stringstr1 = 「gh」;
stringstr2 = 「abcdef」;
str1.replace(0,1,str2,4,2);
//(被替換原始位置,替換個數,替換字串名,替換位置,替換個數)
out: str1:efh
str2: abcdef
※replace 函式支援 char 型別字元陣列
char
型別字元陣列的替換要使用
strncpy 函式
char ch1[10] = 「gh」;
char ch2 = 「abcdef」;
strncpy(ch1, ch2, 3);//(
被替換字元陣列名,替換字元陣列名,替換個數)
out: ch1: abc
ch2: abcdef
※只能從首位置開始替換與被替換
10.string 型字串的複製
①string 型別之間複製使用 assign 函式
②string 到char 型別複製使用 copy 函式
stringstr = 「abcd」;
charch = 「1234」;
intn;
cout<< "源字串"<< ch << endl;
n= str.copy(ch, 4, 0);//(複製陣列名,被複製元素個數,被複製元素起始位置)
cout<<"複製了:"<< n << 「字元」 << endl;
cout<<"複製後:"<< ch<< endl;
out: 源字串:1234
複製了4字元
複製後:abcd
※所有操作針對於string型別,且返回值為複製字元個數
char
型別使用
memmove函式進行字串複製
char ch1[15] = 「abcdefghijklmn」;
char ch2 = 「1234567890」;
cout << 「
源字串:
」 << ch1 << endl;
memmove(ch1, ch2, 10);//(
被複製字串,複製字串,複製的字元數目)
cout << 「
拷貝後:
」 << ch1 << endl;
out:
源字串:
abcdefghijklmn
拷貝後:
1234567890klmn
11.string 型別字串的插入
使用insert函式
定義格式 str.insert(index1, str1, index2, num );
(被插入位置,插入字串名,插入位置,插入個數)
stringstr1 = 「12789」;
stringstr2 = 「3456」;
str1.insert(2,str2, 0, 4);
out: 123456789
12.string 型別字串的刪除
使用 erase 函式
#include
#include
using namespace std;
int main (void)
strings ( "give me");
cout<< "原始字串:" << s << endl;
s.erase(2,2);
cout<< "現在字串為:" << s << endl;
s.erase(2);
cout<< "現在字串為:" << s << endl;
s.erase();
cout<< "現在字串為:" << s << endl;
return0;
out: 原始字串:give me
現在字串為:gi me
現在字串為:gi
現在字串為:
※erase() 函式可以根據字串中指定的位置刪除字元,同時返回指向下乙個字元this指標
C 字串學習筆記二
續集來了,快樂分享。1.字串連線時最好保證字串中不發生變化的部分宣告為常量。對於單一的連線,不要使用stringbuilder,因為建立物件所耗費的系統開銷會超出連線所帶來的效能上的收益。對於單一的連線,可能的話,應該使用常量和其他的內建字串,因為這樣可以將效能提高3倍。2.如何分解句子到單詞 st...
c 字串新增字元 C 字串
在 c 語言中,字串實際上是使用null字元 0 終止的一維字元陣列。因此,乙個以 null 結尾的字串,包含了組成字串的字元。下面的宣告和初始化建立了乙個 hello 字串。由於在陣列的末尾儲存了空字元,所以字元陣列的大小比單詞 hello 的字元數多乙個。char greeting 6 依據陣列...
C 字串學習(一)
c 字串 定義為char 型別 1.cin 相當於 printf s 遇到空格停止錄入,cout相當於 printf s 遇到空格停止輸出。2.使用 cin.get charname 12 cin.get name,12 3.計算字串長度 strlen name 字串不包含 0的長度 sizeof ...