一、字符串的概念和字符数组
字符串是由一系列字符组成的,其中最后一个字符为'\0'(末尾符)。C++中没有专门的字符串类型,但是可以用字符数组来表示字符串。
字符数组是C++中一种基本类型的数组,它的元素是字符类型,常用于表示字符串。C++中可以直接使用字符数组进行字符串的各种操作。
char str[] = "hello world";
二、字符数组的初始化和赋值
字符数组可以通过定义字符数组变量来初始化,也可以通过赋值来初始化。字符数组的赋值可以通过一个字符串常量或另外一个字符数组进行。
使用字符串常量初始化字符数组:
char str1[] = "hello world";
使用一个字符数组初始化另外一个字符数组:
char str2[20]; char str3[] = "hello world"; for (int i=0; i三、字符数组的长度和遍历
可以使用C++标准库中的strlen函数来获取字符数组的长度:
char str[] = "hello world"; int len = strlen(str);使用循环遍历字符数组中的每一个元素:
for (int i=0; i四、字符串操作
C++中可以利用字符数组进行字符串的各种操作,例如以下操作:
- 字符串比较
- 字符串拼接
- 字符串复制
五、字符串比较
C++中提供了strcmp函数来对两个字符串进行比较,它将两个字符串作为参数传递进去,返回值为0、正整数或者负整数:
char str1[] = "hello"; char str2[] = "world"; if (strcmp(str1, str2) == 0) { cout << "str1 equals str2" << endl; } else if (strcmp(str1, str2) < 0) { cout << "str1 is smaller than str2" << endl; } else { cout << "str1 is larger than str2" << endl; }六、字符串拼接
C++中提供了strcat函数对两个字符串进行拼接,它将两个字符串作为参数传递进去,返回值为第一个字符数组的地址:
char str1[20] = "hello"; char str2[] = "world"; strcat(str1, str2); cout << str1 << endl;七、字符串复制
C++中提供了strcpy函数对一个字符串进行复制,将一个字符数组作为参数传递进去,返回值为目标字符数组的地址:
char str1[] = "hello"; char str2[20]; strcpy(str2, str1); cout << str2 << endl;