您的位置:

用C++处理字符数组实现字符串操作

一、字符串的概念和字符数组

字符串是由一系列字符组成的,其中最后一个字符为'\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;