您的位置:

C++ string:定义、初始化与使用

一、string定义及其特点

在C++中,string是一种表示字符串的数据类型,其被定义在头文件string中。相比于传统的字符数组,它有以下特点:

1、string类型在声明时无需指定长度,且可以动态调整长度。

2、string类型可以直接进行赋值、拷贝、比较等操作,使用起来更加方便。

3、string类型内置了多种操作函数,例如查找、替换、截取、插入等,可以极大的提高字符串处理效率。

因此,在实际开发中,string类型尤其是在字符串处理方面具有非常广泛的应用。

#include
#include
   
using namespace std;
int main()
{
    string str("Hello, World!");
    cout<
    <
     


      

二、string的初始化方式

1、使用赋值运算符直接初始化

string str="This is a string";

2、使用构造函数初始化

通过传入一个字符串(char *)初始化一个string对象:

string str1("This is a string");

通过传入一个string对象(const string & )初始化一个string对象:

string str2(str1);

通过传入字符串指针和字符串长度初始化一个string对象:

string str3("learn cpp programming", 12);

通过传入n个重复的字符和个数初始化一个string对象:

string str4(5,'h');

3、使用迭代器初始化

string str5("Learning c++ programming");
string::iterator it1=str5.begin();
string::iterator it2=str5.end();
string str6(it1,it2);

4、使用"+"运算符或append函数连接字符串

string str7="Hello,";
string str8=" C++!";
string str9;
str9=str7+str8;
str7.append(str8);

三、常用的string操作函数

1、查找函数

find函数返回要查找的字符串在主字符串中的第一个字符位置,如果未查找到返回string::npos。rfind函数返回要查找的字符串在主字符串中的最后一个字符位置,如果未查找到返回string::npos。

string str="This is a test string";
size_t pos1=str.find("test");
size_t pos2=str.rfind("string");

2、替换函数

replace函数用于字符串替换,通过传入要替换的位置和要替换的长度以及替换的字符串来完成替换操作。

string str="This is, a test string.";
str.replace(5,2,"was");
cout<<
        
       

3、截取函数

substr函数可以从一个string中提取一个子串,参数为要提取的字符串的起始位置和长度。

string str="Learning c++ programming";
string substr=str.substr(9,6);
cout<<
        
       

4、插入函数

insert函数用于字符串的插入操作,通过插入位置和插入的字符串来完成操作。

string str="Learning programming!";
str.insert(9,"c++ ");
cout<<
        
       

5、长度函数

length函数或size函数可以返回字符串的长度。

string str="Hello, World!";
cout<<
        
       

四、string遍历方式

1、通过下标遍历

string str="Learning string";
for(int i=0;i

        

2、通过迭代器遍历

string str="Learning string";
for(string::iterator it=str.begin();it!=str.end();it++)
    cout<<*it<<" ";

通过本文的介绍,我们可以清晰地了解string的定义、初始化方式以及常用操作函数,相信这些知识在实际工作中能够对大家有所帮助。