使用前提:需要头文件!

#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. 读书共享 Primer Plus C-part 12

    第十四章 结构和其他数据形式 1.关于上struct与union 的区别 #include<stdio.h> typedef union Book_u { int pags; int mo ...

  2. 调试 smallcorgi/Faster-RCNN_TF 的demo过程遇到的问题

    最近在调试faster R-CNN时,遇到了各种各样的问题.使用的算法库为https://github.com/smallcorgi/Faster-RCNN_TF 注:本文使用的是通过virtuale ...

  3. windows 下编译 OpenSSL1.0.2l 版

    1.需要的软件工具: microsoft visual studio2013(或2010以后其他版本) Perl 软件, 版本为strawberry - perl - 5.26.0.1 - 64bit ...

  4. java 实现websocket的两种方式

    简单说明 1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket 2.tomcat的方式需要tomcat 7.x,JEE7的支持. 3.spring与we ...

  5. LVS结合keepalived配置测试

     LVS/DR + keepalived配置 注意:前面虽然我们已经配置过一些操作,但是下面我们使用keepaliave操作和之前的操作是有些冲突的,所以若是之前配置过DR,请首先做如下操作:   三 ...

  6. 描述进程的PCB

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  7. [bzoj]2962序列操作

    [bzoj]2962序列操作 标签: 线段树 题目链接 题意 给你一串序列,要你维护三个操作: 1.区间加法 2.区间取相反数 3.区间内任意选k个数相乘的积 题解 第三个操作看起来一脸懵逼啊. 其实 ...

  8. selenium自动化测试配置工具整理

    firefox浏览器历史版本 网址通道:http://ftp.mozilla.org/pub/firefox/releases/ chromedriver历史版本 网址通道:http://chrome ...

  9. 回归模型效果评估系列1-QQ图

    (erbqi)导语 QQ图全称 Quantile-Quantile图,也就是分位数-分位数图,简单理解就是把两个分布相同分位数的值,构成点(x,y)绘图:如果两个分布很接近,那个点(x,y)会分布在y ...

  10. PHP秒杀系统全方位设计(一)

    秒杀系统特点人多商品少时间短流量高外挂机器[黄牛和非黄牛] 技术分析瞬间高并发的处理能力多层次的分布式处理能力人机交互与对抗[12306验证码图片] 技术选型分析Linux+Nginx+PHP+Mys ...