一下来介绍一下string容器函数的用法:
这里是一些增加和删除的函数

#include<iostream>
using namespace std;
void test()
{string str = "I";str += " LOVE LOL";str.insert(5,4,'a');//c语言字符串,在第五个位置,插入四个acout << "str1= " << str << endl;//str.insert(5, "aaa");//c++风格字符串,在第五个位置开始插入三个acout << "str2= " << str << endl;str.erase(5, 7);//从第五个位置开始删除7个字符cout << "str3= " << str << endl;str.insert(5, str);//可以把定义好的变量名放入,运行时,插入的代码就是str,第五个位置插入strcout << "str4= " << str<<endl;str.erase(5, 10);//擦除第五个到第十个str.insert(0, "aaaaatforever",6, 7);//从aaaaatforever下标为6的位置找七个字符插入str当中去cout << "str5= " << str << endl;str=str.substr(0, 7);//取第0位到7位cout << "str6= " << str << endl;
}
int main()
{test();system("pause");return 0;
}

结果如下:

对于上面的" "当中的字符串,可以替换成字符串变量,但是' '却不可以替换成字符串变量。
以下是一些获取字符的函数

#include<iostream>
using namespace std;
void test()
{string str = "I ";str += "LOVE LOL LOL";for (int i = 1; i < str.size(); i++)//通过size函数获得长度,通过[]的方式来获得(访问)字符{cout << str[i] << " ";}cout << endl;for (int i = 1; i < str.size(); i++)//通过size函数获得长度,通过at函数的方式来获得(访问)字符{cout << str.at(i) << " ";}cout << endl;str[0] = 'a';//也可通过[]进行修改,但是只能修改单个字符cout << str << endl;str.at(1) = 'b';//也可通过at函数进行修改,但是只能修改单个字符cout << str << endl;}
int main()
{test();system("pause");return 0;
}

结果如下:

以下是assign函数的用法:

#include<iostream>
using namespace std;
#include<iostream>
void test()
{string str1 = "hello world!";cout << str1 << endl;string str2(str1);cout << str2 << endl;string str3;str3 = str2;cout << str3 << endl;string str4;str4.assign("hello c++");cout << str4 << endl;string str5;str5.assign("hello c++", 5);//输出为hellocout << str5 << endl;string str6;str6.assign(str5);cout << str6 << endl;string str7;str7.assign(10, 'a');cout << str7 << endl;
}
int main()
{test();system("pause");return 0;
}

结果如下:

assign函数主要的作用是赋值,其用法和作用相当简单
以下是append函数的用法:

#include<iostream>
using namespace std;
void test()
{string str = "我";str += "爱玩游戏";cout << "str=" << str << endl;string str2 = "loll";str += str2;cout << "str=" << str << endl;string str3 = "I ";str3.append("love ");//str3 += str2;//str3.append(str2);//cout << str3 << endl;str3.append("lol bbbb cccc", 3);cout << str3 << endl;//string str4;//tr3.append("aaa bbbb cccc", 3);str3.append(str2, 0, 3);//参数2,从哪个位置开始截至,参数3,截取几个位数cout << str3 << endl;
}
int main()
{test();system("pause");return 0;
}

结果如下:

append函数主要是起添加作用

总结:无论是添加字符还是删除字符还是其他函数,参数添加还是计算字符位置,下标都是从0开始索引,切记!切记!切记!!!

关于string容器一些简单函数的讲解相关推荐

  1. C++STL的string容器

    C++STL的string容器 string容器 string基本概念 string构造函数 string赋值操作 string字符串拼接 string查找和替换 string字符串比较 string ...

  2. 详解string容器(应用+模拟实现,string练习题)

    为什么要有string容器 string:其实就是一个字符串,c++对字符串进行了封装的,封装到一个类里面,这样用户就不用担心开辟空间的问题,只需要往string类里放字符串就可以了,string其实 ...

  3. 【C++编程语言】之string容器 基本概念 构造函数 赋值 拼接 查找 替换比较 插入 删除 子串获取

    目录 1.string基本概念 2.string构造函数 3.string赋值操作 4.string字符串拼接 5.string查找和替换 6.string字符串比较 7.string单个字符的访问和 ...

  4. c++ string容器

    看代码吧! #include<iostream> using namespace std;int main() {//string是一个类//string容器赋值操作 =cout < ...

  5. 【C++提高编程笔记】三.(一).STL常用容器之string容器

    文章目录 1.string基本概念 2.string构造函数 3.string赋值操作 4.string字符串拼接 5.string查找和替换 6.string字符串比较 7.string字符存取 8 ...

  6. C++string容器-构造函数

    本质: string是C++风格的字符串,而string本质上是一个类 string和char区别: 1.char是一个指针 2.string是一个类,类内部封装了char*,管理这个字符串,是一个c ...

  7. C++ string容器

    头文件<string> Char是一个指针,String是一个类,string封装了char,管理这个字符串,是一个char*型的容器,不用考虑内存释放和越界. 构造方法 方法 描述 st ...

  8. 11.string容器

    1 #include <iostream> 2 //string的本质也是容器 3 #include <string> 4 #include <cstdlib> 5 ...

  9. Docker容器化实战第三课 dockerfile介绍、容器安全与监控讲解

    06 最佳实践:如何在生产中编写最优 Dockerfile? 在介绍 Dockerfile 最佳实践前,这里再强调一下,生产实践中一定优先使用 Dockerfile 的方式构建镜像. 因为使用 Doc ...

最新文章

  1. 多集群应用如何帮助企业级Kubernetes获益
  2. opencv 人脸识别 (二)训练和识别
  3. Silverlight中服务通信方式的选择(WCF、Data Service、Ria Service)
  4. Android keymaster的介绍和总结
  5. IMX6怎么移植最新Android,[IMX6Q][Android5.1]移植筆記 --- 無法掛載system文件系統
  6. x264里的2pass指的是什么意思? x264源代码分析2.encode()
  7. java script 技巧_java script 技巧
  8. [jQuery原理] jQuery入口函数
  9. linux平台下C语言按进程名查找进程号pid
  10. Java EE:更名实属无奈,未来路在何方?
  11. warning: implicit declaration of function ‘typeof’
  12. python常用函数及用法
  13. GIS+BIM专题二:SuperMap对接DGN数据流程
  14. Giesecke Devrient推出全球首张Nano SIM卡,比Micro SIM卡小1/3
  15. 目标检测正负样本区分和平衡策略总结
  16. 第一章概述-------第一节--1.3互联网的组成
  17. Typora导入CSDN
  18. zoj 2839 Find the Sequences(数学题)
  19. Android:证书生成
  20. Win10找不到Wifi网络解决办法

热门文章

  1. 以ERP和CRM为例,谈谈阿里工程师对数字化的架构认知
  2. valgrind内存检测结果详解
  3. python制作表情_python实现表单中插入表情符号
  4. python中画图时x,y轴名称出现中文乱码的解决方法
  5. 渗透测试常用反弹shell方法(如何渗透测试反弹shell?)-Linux篇(゚益゚メ) 渗透测试
  6. 计算机打开共享网络连接打印机共享打印机,我想共享打印机,但是计算机找不到网络方式...
  7. android studio 如何导出,打开数据库.db文件以及通过navicat Premium的安装打开数据库文件
  8. 敏捷开发与传统开发的区别
  9. [005]迷迭香饼干
  10. linux命令 把文件夹拷贝一遍_Linux 将文件夹下的所有文件复制到另一个文件里