使用前提:需要头文件!

#include<string>
using namespace std;

1、string类型是可以下标访问的,也可以通过迭代器访问

string::iterator it;

2、length(),size()来返回string字符串的长度。

3、insert()函数,这里说两种写法

 #include<iostream>
#include<string>
using namespace std;
int main(){
string str1 = "abcdef",str2 = "opq";
//第一种写法
str1.insert(,str2);
cout<<str1<<endl;
/*第二种写法
str1.insert(str1.begin()+3,str2.begin(),str2.end());
cout<<str1<<endl;
*/
//最后说一下怎么用printf输出
printf("%s\n",str1.c_str());
}

4、erase()函数也是有着三种形式,用来删除字符。

 #include<iostream>
#include<string>
using namespace std;
int main(){
string str1 = "abcdef",str2 = "opq";
//第一种写法
str1.insert(,str2);
//删除第0号位元素
str1.erase(str1.begin());
cout<<str1<<endl;
//删除一个区间(2,4)的写法
str1.erase(str1.begin()+,str1.begin()+);
cout<<str1<<endl;
//删除从一个位置起始长度为x的字符串
str1.erase(,);
cout<<str1<<endl;
}

5、clear()用来清除全部元素。

6、substr(pos,len)用来求从pos号开始、长度为len的子串。或写为substr(pos)也就是从pos开始到末尾的子串。

7、find(str2)函数,当str2是str1的子串时,返回其在str1中第一次出现的位置;若str2不是str1的子串,那么返回的是string::npos。string::npos是一个常数,值为-1,由于是unsigned_int类型也可认为是4294967295。就记住他是-1就好了~~~

或者find()函数还可以写为:find(str2,pos)意思就是从str1的pos位置开始往后匹配str2,返回值与上同。

8、replace()函数:写法有两种与erase很像。

str1.replace(pos,len,str2);   意思就是从pos开始往后len长度的字符串全部替换为str2。

str1.replace(it1,it2,str2);  意思就是迭代器[it1,it2)替换为str2。注意了迭代器右边是“)”也就是说不会被it2所指向位置的元素不会被替换掉!!

string的常见用法的更多相关文章

  1. C++的string类常见用法

    C++的string常见用法,在网上看到一篇,但是不能在c++11编译器下运行,我修改了下,还没改完: #include<iostream> #include<string> ...

  2. sstream头文件-getline 函数 和 stringstream函数 和string的常见用法

    2017-08-12 19:50:50 writer:pprp getline函数可以读入一行的字符,不论有没有空格 第一个参数,流 第二个参数 ,将流读入的地方 第三个参数,当读到某个字符的时候停止 ...

  3. c++string,常见用法总结

    #include<iostream> #include<string> using namespace std; int main() { //创建对象,及初始化 string ...

  4. C++中string的常见用法

    在ACM中主要用到string的这几个功能:赋值,添加,删除,替换,查找,比较,反向排序. 1.赋值 直接来就行: string ss; ss="aaa"; 或者 string s ...

  5. PAT A1060——string的常见用法详解

    string 常用函数实例 (1)operator += 可以将两个string直接拼接起来 (2)compare operator 可以直接使用==.!=.<.<=.>.>= ...

  6. STL string 常见用法详解

    string 常见用法详解 1. string 的定义 //定义string的方式跟基本数据类型相同,只需要在string后跟上变量名即可 string str; //如果要初始化,可以直接给stri ...

  7. Linux中find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  8. php中的curl使用入门教程和常见用法实例

    摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...

  9. Guava中Predicate的常见用法

    Guava中Predicate的常见用法 1.  Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...

随机推荐

  1. Python md5解密

    这篇文章原来在我盘里存了好久了~    16年9月的.   这 Python的长进没多少啊.现在都17.4了 哎~~ Python之POST提交解密MD5 用易语言写出来md5解密软件后感觉一点成就感 ...

  2. vue 使用Jade模板写html,stylus写css

    vue 使用Jade模板写html,stylus写css 日常工作都是使用vue开发页面和webApp,写的多了就想偷懒简化各种书写方式,所以使用了jade写html,stylus写css,省了很多的 ...

  3. ConcurrentHashMap源码分析(一)

    本篇博客的目录: 前言 一:ConcurrentHashMap简介 二:ConcurrentHashMap的内部实现 三:总结 前言:HashMap很多人都熟悉吧,它是我们平时编程中高频率出现的一种集 ...

  4. Java实现邮箱验证

    Java实现邮箱验证 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.我们可以基于JavaMail开 ...

  5. Python网络编程(1)-socket

    我会在近期尽快更新好之前写的博客,会添加新的知识点和注意问题,排版和内容都会较之前有很大的改观,感谢大家一直的支持! 1. 客户端/服务器架构 客户端/服务器架构也称主从式架构,简称C/S架构,它是一 ...

  6. IntelliJ IDEA(八) :git的使用

    项目管理离不开版本控制,目前主流版本控制工具大概就是SVN和Git,至于两者有啥区别这里就不详细介绍了,如果有不明白的可以上网查资料,后期如果有机会我再开篇栏目细说,而且现在市场上Git的使用率已经远 ...

  7. PowerDesigner Constraint name uniqueness 问题处理(转载)

    使用PowerDesigner生成数据库脚本时报 Constraint name uniqueness 错误: 双击每行错误,发现外键引用的名字有重复的: 惯性去网上找解决办法,找到的主要是两个方法: ...

  8. docker数据库

    拉取镜像 # docker pull mysql: 创建docker数据库容器 # docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASS ...

  9. JAVA浮点数计算精度损失底层原理与解决方案

    浮点数会有精度损失这个在上大学的时候就已经被告知,但是至今完全没有想明白其中的原由,老师讲的时候也是一笔带过的,自己也没有好好琢磨.终于在工作的时候碰到了,于是google了一番. 问题: 对两个do ...

  10. Python 上下文管理器和else块

    最终,上下文管理器可能几乎与子程序(subroutine)本身一样重要.目前,我们只了解了上下文管理器的皮毛--Basic 语言有with 语句,而且很多语言都有.但是,在各种语言中 with 语句的 ...