21xrx.com
2024-12-22 22:29:53 Sunday
登录
文章检索 我的文章 写文章
C++字符串截取子串
2023-07-05 12:59:09 深夜i     --     --
C++ 字符串 截取 子串 substr函数

C++字符串是程序设计中常用的数据类型之一,其中截取子串是一种常见的操作。在C++中,字符串可以用char数组或string对象来表示。本文将介绍使用两种方法来截取C++字符串的子串。

1.使用char数组

char数组是C++中常用的一种数据类型,可以用于存储字符串。要截取char数组的子串,可使用C++中的substr函数。substr函数接受两个参数,第一个参数为子串的起始位置,从0开始计数;第二个参数为子串的长度。

例如,下面的代码截取了字符串"Hello World!"的子串"World":


#include <iostream>

#include <string.h>

using namespace std;

int main() {

 char str[] = "Hello World!";

 char sub_str[6];

 strncpy(sub_str, str + 6, 5);

 sub_str[5] = '\0';

 cout << sub_str << endl;

 return 0;

}

上面的代码中,先定义了一个字符串char数组str和一个用于存储子串的char数组sub_str。然后,使用strncpy函数将str数组中从第6个元素开始的5个元素复制到sub_str数组中。由于C++字符串以'\0'作为结尾,因此需要在sub_str数组的最后一个元素添加'\0'。

2.使用string对象

string对象是C++中用于存储字符串的一种数据类型。要截取string对象的子串,可以使用C++中的substr函数,该函数与char数组的substr函数类似,接受两个参数,第一个参数为子串的起始位置,从0开始计数;第二个参数为子串的长度。

例如,下面的代码截取了string对象"Hello World!"的子串"World":


#include <iostream>

#include <string>

using namespace std;

int main() {

 string str = "Hello World!";

 string sub_str = str.substr(6, 5);

 cout << sub_str << endl;

 return 0;

}

上面的代码中,先定义了一个string对象str,然后使用substr函数将从第6个字符开始,长度为5的子串赋值给另一个string对象sub_str。

总结

C++的字符串截取子串可以使用char数组或string对象来实现。使用char数组时,可以使用C++提供的strncpy函数来截取子串;使用string对象时,可以使用C++中的substr函数。无论是哪种方法,都可以方便地将字符串的某一部分提取出来进行操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复