string s;

s.empty() 如果 s 为空串,则返回 true,否则返回 false。

s.size() 返回 s 中字符的个数

s[n] 返回 s 中位置为 n 的字符,位置从  开始计数

s1 + s2 把 s1 和s2 连接成一个新字符串,返回新生成的字符串

s1 = s2 把 s1 内容替换为 s2 的副本

v1 == v2比较 v1 与 v2 的内容,相等则返回 true,否则返回 false

!=, <, <=, >, and >= 保持这些操作符惯有的含义

string s(cp, n)
创建一个 string 对象,它被初始化为 cp 所指向数组的前 n 个元素的副本

strings(s2,pos2)

创建一个 string 对象,它被初始化为一个已存在的 string 对象s2 中从下标 pos2 开始的字符的副本

string s(s2, pos2, len2)

创建一个 string 对象,它被初始化为 s2 中从下标 pos2 开始的len2 个字符的副本。如果 pos2 > s2.size(),则该操作未定义,无论 len2 的值是多少,最多只能复制 s2.size() - pos2 个字符注意:n、len2 和 pos2 都是 unsigned 值

s.insert(p, t) 在迭代器 p 指向的元素之前插入一个值为 t 的新元素。返回指向新插入元素的迭代器

s.insert(p, n,t)在迭代器 p 指向的元素之前插入 n 个值为 t 的新元素。返回 void

s.insert(p, b,e)在迭代器 p 指向的元素之前插入迭代器 b 和 e 标记范围内所有的元素。返回 void

s.assign(b, e) 在迭代器 b 和 e 标记范围内的元素替换 s。对于 string 类型,该操作返回 s;对于容器类型,则返回 void

s.assign(n, t) 用值为 t 的 n 个副本替换 s。对于 string 类型,该操作返回 s;对于容器类型,则返回 void

s.erase(p) 删除迭代器 p 指向的元素。返回一个迭代器,指向被删除元素后面的元素

s.erase(b, e) 删除迭代器 b 和 e 标记范围内所有的元素。返回一个迭代器,指向被删除元素段后面的第一个元素

s.insert(pos, n, c) 在下标为 pos 的元素之前插入 n 个字符 c

s.insert(pos, s2) 在下标为 pos 的元素之前插入 string 对象 s2 的副本

s.insert(pos, s2, pos2, len)在下标为 pos 的元素之前插入 s2 中从下标 pos2 开始的 len 个字符

s.insert(pos, cp,len)在下标为 pos 打元素之前插入 cp 所指向数组的前len 个字符

s.insert(pos, cp) 在下标为 pos 的元素之前插入 cp 所指向的以空字符结束的字符串副本

s.assign(s2) 用 s2 的副本替换 s

s.assign(s2, pos2,len)

用 s2 中从下标 pos2 开始的 len 个字符副本替换 s
s.assign(cp, len) 用 cp 所指向数组的前 len 个字符副本替换 s

s.assign(cp) 用 cp 所指向的以空字符结束的字符串副本替换 s

s.erase(pos, len) 删除从下标 pos 开始的 len 个字符

s.substr(pos,n)返回一个 string 类型的字符串,它包含 s 中从下标 pos开始的 n 个字符

s.substr(pos) 返回一个 string 类型的字符串,它包含从下标 pos 开始到s 末尾的所有字符

s.substr() 返回 s 的副本

s.append( args) 将 args 串接在 s 后面。返回 s 引用

s.replace(pos, len,args)删除 s 中从下标 pos 开始的 len 个字符,用 args指定的字符替换之。返回 s 的引用在这个版本中,args 不能为 b2,e2

s.replace(b, e, args) 删除迭代器 b 和 e 标记范围内所有的字符,用 args替换之。返回 s 的引用在这个版本中,args 不能为 s2,pos2,len2

s.find( args) 在 s 中查找 args 的第一次出现

s.rfind( args) 在 s 中查找 args 的最后一次出现

s.find_first_of( args) 在 s 中查找 args 的任意字符的第一次出现

s.find_last_of( args) 在 s 中查找 args 的任意字符的最后一次出现

s.find_first_not_of( args) 在 s 中查找第一个不属于 args 的字符

s.find_last_not_of( args) 在 s 中查找最后一个不属于 args 的字符

c, pos 在 s 中,从下标 pos 标记的位置开始,查找字符 c。pos 的默认值为 

s2, pos 在 s 中,从下标 pos 标记的位置开始,查找 

cp, pos 在 s 中,从下标 pos 标记的位置形参,查找指针 cp 所指向的 C 风格的以空字符结束的字符串。pos 的默认值为 

cp,pos, n  在 s 中,从下标 pos 标记的位置开始,查找指针 cp 所指向数组的前 n 个字符。pos 和 n 都没有默认值

s.compare(s2) 比较 s 和 s2

s.compare(pos1, n1, s2)让 s 中从 pos 下标位置开始的 n1 个字符与 s2 做比较

s.compare(pos1, n1, s2, pos2, n2)让 s 中从 pos1 下标位置开始的 n1 个字符与 s2 中从 pos2下标位置开始的 n2 个字符做比较

s.compare(cp) 比较 s 和 cp 所指向的以空字符结束的字符串

s.compare(pos1, n1, cp)让 s 中从 pos1 下标位置开始的 n1 个字符与 cp 所指向的字符串做比较

s.compare(pos1, n1, cp, n2)让 s 中从 pos1 下标位置开始的 n1 个字符与 cp 所指向的字符串的前 n2 个字符做比较

string标准库的使用的更多相关文章

  1. C++标准库string类型

    string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作.标准库string类型的目的就是满足对字符串的一般应用. 本文地址:http://www.cn ...

  2. C++标准库string类型的使用和操作总结

    string是C++标准库最重要的类型之一,string支持长度可变的字符串,其包含在string头文件中.本文摘自<C++PRIMER 第四版·特别版>和个人的一些总结. 一.声明和初始 ...

  3. c/c++ 标准库 string

    c/c++ 标准库 string 标准库 string的小例子 test1~test10 #include <iostream> using namespace std; int main ...

  4. 标准库string与C风格字符串

    返回字符串的长度 string标准库 #include<iostream> #include<cstring> using namespace std; int main() ...

  5. 【C++ Primer每日刷】之三 标准库 string 类型

    标准库 string 类型 string 类型支持长度可变的字符串.C++ 标准库将负责管理与存储字符相关的内存,以及提供各种实用的操作.标准库string 类型的目的就是满足对字符串的一般应用. 与 ...

  6. 用robotframework 标准库String解决由于存在千分位分隔符导致两个数值不相等的问题。

    在编写robotframework自动化断言的过程中,我遇到了如下问题: 我想写一个两个金额判断是否相等的断言,其中一个金额是展示字段存在千分位分隔符,另一个金额是input带入字段,没有千分位分隔符 ...

  7. c++ primer 第三章 标准库类型

    1. string 标准库 1.1初始化 string s1; 默认构造函数s1为空 string s2(s1); 将s2初始化为s1的一个副本 string s3("value" ...

  8. 把《c++ primer》读薄(3-1 标准库string类型初探)

    督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 问题1:养成一个好习惯,在头文件中只定义确实需要的东西 using namespace std; //建议需要什么再using声 ...

  9. C++ 标准库string字符串的截取

    标准库的string有一个substr函数用来截取子字符串.一般使用时传入两个参数,第一个是开始的坐标(第一个字符是0),第二个是截取的长度. #include <iostream> #i ...

随机推荐

  1. COJ 0018 移动盒子

    20605移动盒子 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 你有一行盒子,从左到右依次编号为1,2,3,……,n.可以执 ...

  2. word页面不对齐,如何解决?

    http://blog.163.com/haibianfeng_yr/blog/static/34572620201157105439516/

  3. ubuntu14.04下交叉编译器的安装

    今天打算换个工作环境,在ubuntu下装交叉编译器,可谓一波三折.最后总算是装好了. 首先参照一下这位仁兄的博客http://blog.csdn.net/silleyj/article/details ...

  4. Matlab:拟合(1)

    拟合练习: function f = curvefun(x, tdata) f = (x()*x()*x()) / (x()-x()) * ( exp(-x()*tdata)/(x()-x()) + ...

  5. Matchers and assertthat

    assertThat的一般句型为: assertThat([value],[matcher statement]); 这种断言的优点有: 1.更具有可读性:该语法允许我们以“主谓宾”的方式来思考(as ...

  6. KMP学习

    刚才看了(连接)写的翻译,把kmp算法的工作过程讲的很不错,kmp算法的核心是next,next为什么要那么赋值?其实就是前缀和后缀的最大匹配值,用这个值在匹配失败的时候可以跳过一个不必要的匹配.   ...

  7. android学习之4种点击事件的响应方式

    如题,下面就一一列出对点击事件响应的4种方式: 第一种:内部类的形式: package com.example.dail; import android.net.Uri; import android ...

  8. JAVA设计模式(09):结构型-代理模式(Proxy)

    代理模式是经常使用的结构型设计模式之中的一个,当无法直接訪问某个对象或訪问某个对象存在困难时能够通过一个代理对象来间接訪问,为了保证client使用的透明性,所訪问的真实对象与代理对象须要实现同样的接 ...

  9. 【iOS开发】emoji表情的输入思路

    1.自定义一个表情包类继承NSTextAttachment #import <UIKit/UIKit.h> /** 表情包的自定义类*/ @interface EmojiTextAttac ...

  10. MyEclipse Web Project导入Eclipse Dynamic Web Project,无法部署到tomcat问 题

    做作业遇到一个小问题,将MyEclipse Web Project导入到Eclipse中开发.在部署到tomcat时,发现无法发布这个项目. 问题分析: MyEclipse Web Project被识 ...