總的來說,string比char更耗時,比如apend()這種函式,而string能完成的操作char基本都可以實現。
char ch1 = "give me";
char ch2 = "a cup";
strcpy(ch1,ch2);
cout<<"ch1="<
輸出結果:ch1=a cup
string str1 = "give me";
string str2 = "a cup";
①str1 = str2;
cout<<"str1="<0,5); // 引數2為起始位置,引數3為字元數
cout<<"str1="<
輸出結果:str1=a cup
str1=a cup
char合併(全部):
char ch1[15] = "give me "; // 注意長度,合併後為13
char ch2 = "a cup";
strcat(ch1,ch2);
cout<<"ch1="<
輸出結果:ch1=give me a cup
string str1 = "give me ";
string str2 = "a cup";
str1 = str1 + str2;
cout<<"str1="<
輸出結果:str1=give me a cup
char ch1[10] = "ab"; // 注意合併後的長度
char ch2 = "abc";
strncat(ch1,ch2,3); // 引數3為從起始位置起的字元數
cout<<"ch1="<
輸出結果:ch1=ababc
string str1 = "ab";
string str2 = "cdefg";
cout<<"str1="<
輸出結果:str1=abefg
char ch1 = "give me";
int m = strlen(ch1); //不包括『\0』
cout<<"m="<
輸出結果:m=7
string str1 = "give me";
①int m = strlen(str1.c_str());
cout<<"m="cout<<"n="cout<<"k="<
輸出結果:m=7
n=7k=7
char ch1[10] = "ab";
char ch2 = "cdefg";
strncpy(ch1,ch2,3); // 拷貝ch2起始位置後3個字元賦給ch1
cout<<"ch1="<
輸出結果:ch1=cde
string str1 = "ab";
string str2 = "cdefgh";
str1.replace(0,1,str2,4,2); // 將str2從下標4開始2個字元替換掉str1中從起始位置開始1個字元
// replace函式可過載,有多種形式,也支援char型字元替換
cout<<"str1="<
輸出結果:str1=ghb
char ch1[10] = "abc";
char ch2 = "de";
memmove(ch1,ch2,2); //將ch2從起始位置起兩個字元賦給ch1
cout<<"ch1="<
輸出結果:ch1=dec
string str1 = "abc";
char ch2[10] = "defg";
str1.copy(ch2,10,1); // copy函式的第乙個引數只能為char型別
// 將str1從下標1位置開始的10個字元賦給ch2
cout<<"ch2="<
輸出結果:ch2=bcfg
string str1 = "1278";
string str2 = "3456";
str1.insert(2,str2,0,4); // 在str1下標為2的位置插入str2起始位置後4個字元
cout<<"str1="<
輸出結果:str1=12345678
string str("give me");
str.erase(2,2); // 刪除從下標為2位置起兩個字元
cout<<"str="
輸出結果:str=gi me
str=gi
str=
string str("hello worldw");
int m = str.find('w',0); // 從str起始位置開始查詢w字元
cout<<"m="cout<<"n="cout<<"k="cout<<"l="cout<<"p="cout<<"q="<
輸出結果:m=6
n=0k=6
l=11
p=10
q=11
string str1 = "155";
string str2 = "52";
char c = "34";
char c2= "56";
int z = strncat(c,c1);//用來比較兩個char陣列是否相等
int i = str1.compare(str2);
cout<<"i="int j = str2.compare(c); // string字串可以與char字元比較
cout<<"j="int l = str1.compare(0,2,str2); // 比較前兩個字元
cout<<"l="int k = str1.compare(1,1,str2,0,1); // str1下標為1位置字元與str2下標為0位置字元比較
cout<<"k="int m = str1.compare(1,1,c,0,1);
cout<<"m="int n = str1.compare(1,1,c,1);
cout<<"n="
string str = "";
if(str.empty())
string str1 = "hello world";
const char* ch1;
ch1 = str1.c_str();
char ch1[15] = "ofru";
char ch2[15] = "";
swab(ch1,ch2,strlen(ch1)); // 將ch1奇偶對調後傳入ch2
cout<<"ch2="<
輸出結果:ch2=four
string str1 = "four";
string str2 = "";
str1.swap(str2);
cout<<"str2="<
輸出結果:str2=four
string和char型陣列的區別
char ch1 give me char ch2 a cup strcpy ch1,ch2 cout ch1 輸出結果 ch1 a cup string str1 give me string str2 a cup str1 str2 cout str1 0,5 引數2為起始位置,引數3為字元數 ...
Char型和string型字串比較整理
1.賦值 char賦值 char ch1 give me char ch2 a cup strcpy ch1,ch2 cout ch1 輸出結果 ch1 a cup string賦值 string str1 give me string str2 a cup str1 str2 cout str1 ...
char 型陣列Int型互轉
include include typedefunsignedcharuchar typedefunsignedintuint 轉換函式 temp 字元型陣列 pout int型陣列 length 字元型陣列的長度 這裡假設字元型陣列裡包含的都是偶數個元素 如果是奇數個數,則需要增加如下處理 檢查l...