IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c++中string的常见用法 -> 正文阅读

[C++知识库]c++中string的常见用法

头文件---> #include<string>

常用函数

string s;

获取字符串的字符个数

s.size()

返回s中的字符的个数

判断字符串是否为空

s.empty()

s为空返回true,否则返回false

1.子字符串操作

s.substr(pos,n)

返回一个string,包含s中从pos开始的n个字符的拷贝(pos的默认值为0,n的默认值为s.size()-pos,即拷贝从pos开始的所有字符)

    string s = "abcdef";
    string a = s.substr();//abcdef
    string b = s.substr(1);//bcdef
    string c = s.substr(0, 3);//abc
    string d = s.substr(2, -1);//cdef,忽略-1
    string f = s.substr(-1);//错误!

2.修改string的操作

s.insert(pos,args)

在pos之前插入args指定的字符。pos可以是一个下标或一个迭代器。接受下标的版本返回一个指向s的引用;接受迭代器的版本返回指向第一个插入字符的迭代器。

    string s = "abcdef",a,b,c,d,e;
    a = b = c = d = e = s;
    s.insert(0, "A");//Aabcdef
    a.insert(2, "B");//abBcdef
    b.insert(b.size(), "C");//abcdefC
    c.insert(0, 3, '!');//!!!abcdef  在c的首位置插入3个!
    d.insert(d.begin(), 'D');//Dabcdef
    e.insert(0, 'E');//编译错误 无此重载

s.erase(pos,len)

删除从位置pos开始的len个字符。如果len被省略,则删除从pos开始直至s末尾的所有字符。返回一个指向s的引用

    string s = "abcde",a,b,c,d;
    a = b = c = d = s;
    s.erase();//""  全部删除
    a.erase(0, 1);//"bcde" 从0开始的1个字符
    b.erase(3);//"abc"  从3开始的所有字符
    c.erase(3, 1);//"abce" 从3开始的一个字符
    d.erase(3, -3);//"abc" 从3开始的所有字符(负数不起作用,不会导致删除指定索引前的元素)

s.assign(args)

将s中的字符替换为args指定的字符。返回一个指向s的引用

    string s = "abcdef",a,b,c,d,e;
    a = b = c = d = e = s;
    s.assign("bca");//bca
    a.assign(s);//bca
    b.assign(2,'@');//@@
    c.assign(b.begin(), b.end());//@@

s.append(args)

将args追加到s。返回一个指向s的引用

    string s = "abcdef",a,b,c,d,e;
    a = b = c = d = e = s;
    s.append("123", 0,2);//abcdef12
    a.append(2, '#');//abcdef##
    b.append("$$");//abcdef$$

s.replace(range,args)

删除s中范围range内的字符,替换为args指定的字符。range或者是一个下标和一个长度,或者是一对指向s的迭代器。返回一个指向s的引用

    string s = "abcdef",a,b,c,d,e;
    a = b = c = d = e = s;
    s.replace(0, s.size(), "aa");//aa
    a.replace(a.begin(), a.end(), "bb");//bb
    b.replace(0,2,"cc");//cccdef
    c.replace(0, 2, 2, 'd');//ddcdef

args可以是下列形式之一;append和assign可以使用所有形式

str不能与s相同,迭代器b和e不能指向s

str(字符串str)

str,pos,len(str中从pos开始最多len个字)

cp,len(从cp指向的字符数组的前(最多)len个字符)

cp(cp指向的以空字符结尾的字符数组)

n,c(n个字符c)

b,e(迭代器b和e指定的范围内的字符)

初始化列表(花括号包围的,以逗号分割的字符列表)

3.string的搜索操作

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++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 13:48:12  更:2022-01-08 13:50:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:56:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码