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";
str1.append(str2,2,3); // 参数2为数组下标,参数3为参数2后字符数。即将str2从下标为2位置起3个字符合并到str1
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="<int n = str1.size();
cout<<"n="<int k = str1.length();
cout<<"k="<
输出结果:m=7
n=7
k=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<str.erase(2); // 删除下标为2位置后全部字符
cout<<"str="<<str<str.erase(); // 删除所有字符
cout<<"str="<<str<
输出结果:str=gi me
str=gi
str=
string str("Hello worldw");
int m = str.find('w',0); // 从str起始位置开始查找w字符
cout<<"m="<int n = str.find_first_not_of('w',0); // 查找str起始位置开始不是w的字符
cout<<"n="<int k = str.find_first_of('w',0); // 从str起始位置开始查找第一个w字符
cout<<"k="<int l = str.find_last_of('w'); // 查找最后一个w的位置
cout<<"l="<int p = str.find_last_not_of('w'); // 查找最后一个不是w的字符的位置
cout<<"p="<int q = str.rfind('w'); // 反向查找
cout<<"q="<
输出结果:m=6
n=0
k=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="<// 输出i=-1
int j = str2.compare(c); // string字符串可以与char字符比较
cout<<"j="<// 输出j=1
int l = str1.compare(0,2,str2); // 比较前两个字符
cout<<"l="<// 输出l=-1;
int k = str1.compare(1,1,str2,0,1); // str1下标为1位置字符与str2下标为0位置字符比较
cout<<"k="<// 输出k=0
int m = str1.compare(1,1,c,0,1);
cout<<"m="<// 输出m=1
int n = str1.compare(1,1,c,1);
cout<<"n="<// 输出n=1
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
以上,整理自《范磊C++视频》笔记