前言
![6f9fbfd11404287f1a435be747bc72d2.png](https://i-blog.csdnimg.cn/blog_migrate/deb376a862ec6179824352553863e82d.png)
上一章节主要是针对于C++中的结构体做了一个详细介绍。不清楚的可以回顾一下哦。本章节主要针对于C++string给大家做以详细介绍。string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还和c语言的字符串之间有着良好的接口。
0 2string的初始化
![6f9fbfd11404287f1a435be747bc72d2.png](https://i-blog.csdnimg.cn/blog_migrate/deb376a862ec6179824352553863e82d.png)
首先,为了在程序中使用string类型,必须包含头文件 。
即:#include
注意这里不是string.h,string.h是C字符串头文件。
string类是一个模板类,位于名字空间std中
通常还需要增加:using namespace std;
string初始化有以下8种:
C++string转char*
![6f9fbfd11404287f1a435be747bc72d2.png](https://i-blog.csdnimg.cn/blog_migrate/deb376a862ec6179824352553863e82d.png)
使用 c_str() 方法
使用data()方法
string的基本操作之比较操作
![6f9fbfd11404287f1a435be747bc72d2.png](https://i-blog.csdnimg.cn/blog_migrate/deb376a862ec6179824352553863e82d.png)
你可以用 ==、>、=、<=、和!=比较字符串,可以用+或者+=操作符连接两个字符串,并且可以用[]获取特定的字符。或者采用相应的成员函数去操作也可以,这里就展示下直接运算符操作,代码如下:
C++string的特征描述函数
![6f9fbfd11404287f1a435be747bc72d2.png](https://i-blog.csdnimg.cn/blog_migrate/deb376a862ec6179824352553863e82d.png)
可用下列函数来获得string的一些特性:
string其他操作
当然后续还可以string 对象作为流处理也可以用用 STL 算法操作 string 对象,这个后续再IO流中给大家介绍。
0 6C++string查找
![6f9fbfd11404287f1a435be747bc72d2.png](https://i-blog.csdnimg.cn/blog_migrate/deb376a862ec6179824352553863e82d.png)
由于查找是使用最为频繁的功能之一,string提供了非常丰富的查找函数:
1.返回str在字符串中第一次出现的位置(从index开始查找),如果没找到则返回string::npo
size_type find( const basic_string &str, size_t index );size_type find( const char *str, size_t index );
2.返回str在字符串中第一次出现的位置,如果没找到就返回string::npos
size_type find( const char*str, size_t index,size_t len
3.返回字符ch在字符串中第一次出现的位置,如果没找到就返回string::npos
size_type find( char ch, size_t index )
![1102ac0e73409bd74997f53dafb86a7f.gif](https://i-blog.csdnimg.cn/blog_migrate/43763d253714c3add0e04af19a2ba6c1.gif)
![1102ac0e73409bd74997f53dafb86a7f.gif](https://i-blog.csdnimg.cn/blog_migrate/43763d253714c3add0e04af19a2ba6c1.gif)
输入字符串
反向输出
截取一部分字符串输出
调用测试
![c720ddb44e40f38d870ca96395ccd22c.png](https://i-blog.csdnimg.cn/blog_migrate/2044d762e34068342d293a9022926b82.jpeg)
![804b323757e9fdb09ade8302359016ac.png](https://i-blog.csdnimg.cn/blog_migrate/603aef3367b60284d0b3d6c02281fa89.png)