整理笔记
C++字符串
在C++中有两种类型的字符串表示形式:
1.C风格字符串
2.C++引入的String类类型
C风格字符串:
null字符 " 终止一维字符数组。因此null结尾的字符串,包含了组成字符串的字符。
下面是声明和初始化创建一个"Hello"字符串,由于在数组的结尾存储了空字符,所以字符数组的大小比"Hello"的字符数多一个
char greeting[] = "Hello";
C++中有大量的函数用来操作以null结尾的字符串:support a wide range of functions that manipulate null-terminated strings:
1 strcpy(s1,s2);复制字符串s2到字符串s1
2 strcat(s1,s2);连接字符串s2到字符串s1的末尾
3 strlen(s);返回s1的长度 4 strcmp(s1,s2);如果s1和s2相同的,则返回0,如果s1<s2,则返回小于0,否则反正返回大于0 5 strchr(s1,ch);返回一个指针,指向字符串s1中字符ch的第一次出现的位置 6 strstr(s1,s2);返回一个指针,指向字符串s1中字符串s2的第一次出现的位置
#include<iostream> #include<cstring> using namespace std; int main(){ char str1[11] = "Hello"; char str2[11] = "world"; char str3[11]; int len ; strcpy(str3,str1); cout << "strcpy(str3,str1) :" << str3 <<endl; strcat(str1,str2); cout << "strcar(str1,str2) :" << str1 <<endl; len = strlen(str1); cout << "strlen(str1) :" << len <<endl; return 0; }
运行结果为
strcpy(str3,str1) : Hello strcat(str1,str2):HelloWorld strlen(str1):10
C++中的String类
tring是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还和c语言的字符串之间有着良好的接口。
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string str1 = "Hello";
string str2 = "world";
string str3;
int len ;
//复制str1到str3
str3 = str1;
cout << "str3 :" << str3 <<endl;
//连接str1和str2
str3 = str1 + str2;
cout << "str1 + str2 :" << str3 <<endl;
//连接后,str3的总长度
len = str3.size();
cout << "str3.size():" << len <<endl;
return 0;
}
运行结果为:
strcpy(str3,str1) :
Hello
strcat(str1,str2):HelloWorld
strlen(str1):10