标准C++ string类的用法总结

C++ string类是特殊化的容器,与顺序容器如vector具有很多相似的操作。string 类型支持长度可变的字符串,与char*的字符串比较来,使用string类

不必担心内存是否足够、字符串长度等问题。C++ 标准库将负责管理与存储字符相关的内存,以及提供各种有用操作。要使用 string 类型对象,必

须包含相关头文件。如果提供了合适的 using 声明,那么编写出来的程序将会变得简短些:

       #include <string>

       using std::string;

1、构造函数:

标准C++ string类的用法总结_第1张图片
2、字符操作:

标准C++ string类的用法总结_第2张图片

对字符串的字符进行处理,需要包含cctype 头文件。


3、大小操作:
标准C++ string类的用法总结_第3张图片

4、赋值操作:

标准C++ string类的用法总结_第4张图片

5、连接操作:

标准C++ string类的用法总结_第5张图片

当进行 string 对象和字符串字面值混合连接操作时,+ 操作符的左右操作数必须至少有一个是 string 类型的:

string s1 = "hello";
string s2 = "world";
string s3 = s1 + ", "; // 正确
string s4 = "hello" + ", "; //错误,没有string类型
string s5 = s1 + ", " + "world"; // 正确
string s6 = "hello" + ", " + s2; // 错误,前两个字符串字面值相加

6、比较函数:


7、查找函数:

标准C++ string类的用法总结_第6张图片

8、替换函数:

标准C++ string类的用法总结_第7张图片

9、插入函数:

标准C++ string类的用法总结_第8张图片
10、删除函数

其他操作

string类迭代器:string 类与STL容器类似,提供了向前和向后遍历的迭代器,在此不再做更多的介绍,需要了解请参考STL容器操作总结的第一部分内

容。


用 c_str() 返回的这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效。因此要么现用先转换,要么把它的数

据复制到用户自己可以管理的内存中。最好使用 strcpy 函数进行复制:

char*c=new char[20];
string s="1234";
//c = s.c_str(); //不好的方式,赋值之后,当s改变时,c同样会改变
strcpy(c,s.c_str());

c_str()返回一个客户程序可读不可改的指向字符数组的指针,因此不需要手动释放或删除这个指针。

copy 函数返回真正从对象中复制的字符,因此要确保:cptr 指向的空间足够保存n个字符。

你可能感兴趣的:(C++,String,字符串操作,字符操作,sting函数)