一 概述
本节课主要讲述char型数组的赋值和string型字符串的赋值
二 char型数组的赋值
2.1 代码
1 2 3 4 5 6 7 8 9 10 11 12
| #include<iostream> #include<cstring> using namespace std; int main() { char ch1[]="give me"; char ch2[]="a cup"; strcpy(ch1,ch2); cout<<ch1<<endl; cout<<ch2<<endl; return 0; }
|
2.2 输出
2.3 说明
我们还要注意两点:
- 第一:strcpy会将char2中的所有字符,包括结束标志'\0'一块赋值到ch1中去。
- 第二:不可以直接对char型字符数组进行赋值操作,如:char a[9],b[9]; a=b;而只能用strcpy函数,或者对每个数组元素一个个的赋值,如:a[0]=b[0],a[1]=b[1]
三 string型字符串复制
3.1 代码
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include<iostream> #include<cstring> using namespace std; int main() { string str1="give me"; string str2="a cup"; //str1=str2; str1.assign(str2); cout<<str1<<endl; cout<<str2<<endl; return 0; }
|
3.2 输出结果
3.3 说明
- string类中使用operator函数重载了运算符,因此对象之间可以复制
- string类中还有一个专门的赋值函数assign
- string类的赋值函数assign,该函数可以取第二个字符串的任意字符赋给第一个字符串
- 由于是赋值,并且string类具有自动调节字符串大小的功能,因此str1的多余字符被删除,只保存str2赋给它的值