c风格的字符串起源于c语言,并在c++中继续得到支持,字符串实际上是使用null字符"\0"终止的一维字符数组,因此,一个以null结尾的字符串,包含了组成字符串的字符
下面的声明和初始化创建了一个"Hello"字符串,由于在数组的末尾存储了空字符,所以字符数组的大小比单词"Hello"的字符多了一个
char greeting [6]={'H','e','l','l','o','\0'};
依据数组初始化规则,用户可以把上面的语句写成以下语句
char greeting []="Hello";
其实,用户不需要把null字符放在字符串常量的末尾
c++编译器会在初始化数组时,自动把'\0'放在字符串的末尾
c++中有大量的函数用来操作以null结尾的字符串
序号 | 函数&目的 |
1 | strcpy(s1,s2);复制字符串s2到字符串s1 |
2 | stract(s1,s2);连接字符串s2到字符串s1的末尾 |
3 | strlen(s1);返回字符串s1的长度 |
4 | strcmp(s1,s2);如果s1=s2,则返回0,如果小于,返回<,如果大于,返回> |
5 | strchr(s1,ch);返回一个指针,指向字符串s1中字符ch的第一次出现的位置 |
6 | strstr(s1,s2);返回一个指针,指向字符串s1中字符串s2的第一次出现的位置 |