string是字符串

前提:#include <string> (C中应加入using namespace std;)

注释中给了各种string函数的用法,大家可以借鉴一下

#include <iostream>
#include <string>//注意string和string.h是不一样的头文件using namespace std;//string 用c++的话可以直接用cin和cout用于输入和输出
//可在定义时赋值 string str = "advd";
//如果用c的printf输出可以使用str.c_str()函数进行输出
//迭代器 string::iterator it;
//string和vector都支持对于迭代器加减某个数字
//用+直接连接两个字符串 str1 = "ac"; str2 = "de"; str1+=str2;==>str1 = "acde";相当于将字符串2拼接到字符串1的末尾
//str3 = str1+str2;这样是将两字符串赋给一个新的字符串
//==;!=;<;<=;>;>=利用字典序进行比较
//str.length()与str.size()都表示字符串的长度
//str.insert();用法:(1)str.insert(pos,string); pos为string插入的位置,pos是数字可以理解为从该数组下标开始
//(2)str.insert(it,it2,it3);  it为原字符串预插入位置  it2 it3 分别为所插入子串的首位迭代器
//str.erase(it);    str.erase(first,last);在两迭代器之间       str.erase(pos,length);删除从pos位起长为length的字符
//str.clear();清空
//str.substr(pos,length);   pos号位开始长度为length的字符串
//string::npos;是当find()函数失配时的元素返回值
//str.find(str1);   返回str1在str中的起始位置
//str.find(str2,pose);  从str的pose位开始匹配str2返回当前位置
//str.replace(pose,len,str1);  将pose位开始长为len的子串,替换为str1
//str.replace(it1,it2,str1);    将迭代器[it1,it2)位置上的子串替换为str1int main()
{string str;string str1;string str2;cout<<"输入第一个和第二个字符串"<<endl;cin>>str1;cin>>str2;cout<<"str1.length="<<str1.length()<<"  str2.size()="<<str2.size()<<endl;str = str1+str2;cout<<"Output str1 + str2"<<endl;cout << str;cout << endl;str.insert(3,"kaka");string::iterator it = str.begin()+2;str.insert(it,str1.begin(),str1.end());cout<<"在str[3]位置插入kaka,后在str[2]位置插入str1字符串"<<endl;for(string::iterator it = str.begin();it!=str.end();it++){cout<<*it;}cout<<endl;cout<<"返回str[2]开始长度为str1长度的字符串"<<str.substr(2,str1.size())<<endl;if(str.find(str1,1)!=string::npos){cout<<"从str[1]开始搜索存在字符串str1的位置是:"<<str.find(str1)<<endl;}else{cout<<"在其中没有字符串!"<<endl;}str.replace(2,str2.size(),str2);cout<<"将str1替换str2:"<<endl;for(string::iterator it = str.begin();it!=str.end();it++){cout<<*it;}cout<<endl;return 0;
}

C++ STL函数 string(henu.hjy)相关推荐

  1. C++ STL函数 结构体数组sort()排序(henu.hjy)

    对于C++中sort()需要加入 #include <algorithm>该头文件 sort(首地址[必填],尾地址[必填],排序cmp函数[选填]) sort对于基本数据类型默认从小到大 ...

  2. STL 的string类怎么啦?

    STL 的string类怎么啦? 陈皓 前言 上个周末在和我的同学爬香山闲聊时,同学说到STL中的string类曾经让他备受折磨,几年前他开发一个系统前对string类还比较清楚,然后随着程序的复杂度 ...

  3. STL之string类:知其然,需知其所以然

    目录 前言 一,构造及初始化 1.1constuct类函数 1.2构造函数及其模拟实现 1.3拷贝构造及其模拟实现 1.4赋值操作符 1.5string类的swap接口 二,迭代器 2.1初识迭代器即 ...

  4. STL简介string的使用及其模拟实现

    文章目录 一.STL简介 1.什么是STL 2.STL的版本 3.STL的六大组件 4.STL的重要性 5.如何学习STL 二.标准库中的string类 1.string类 2.string类的常用接 ...

  5. C++STL的string容器

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

  6. c# 日期函数[string.Format----GetDateTimeFormats] --转载

    c# 日期函数[string.Format----GetDateTimeFormats] c# 日期函数  DateTime dt = DateTime.Now; Label1.Text = dt.T ...

  7. 【STL】STL函数总结,助你代码实用高逼格

    STL可谓是C++的利器,深受算法竞赛选手所爱,今天我将常用函数总结了一下,他们是代码中的技巧,使用后代码层次直接提升一个档次. 废话不多说,直接开始 下文介绍常见STL函数,如要了解STL容器请访问

  8. STL:string容器特性、定义、初始化、等号、取值、拼接、查找、替换、比较、字串、插入、删除

    一.string的特性 string和char*类型字符串的对比: char是一个指针,string是一个类,string封装了char,管理这个字符串,是一个char*型的容器. string封装了 ...

  9. C++算法练习题 T1(henu.hjy)

    这个题有些尴尬,我在蓝桥官网并没有通过验证,但是给的样例输出通过并正确了,我不太明白哪里出错了,如果有看到的朋友可以在留言给我,万分感谢!!! 问题描述 给两组数,各n个. 请调整每组数的排列顺序,使 ...

最新文章

  1. github每次推送都要输入用户名和密码
  2. 基于mysql传统复制模式转为GTID模式 mysql 5.7版本
  3. spss预测变量重要性不可用_C4.5/5.0的SPSS操作
  4. C++归并排序递归写法
  5. 事务例子_Redis事务系列之一Redis事务详解
  6. Windows2003 SQL2005解决系统Administrator密码不知道的问题
  7. Robochameleon——Quick Start Guide
  8. js如何处理后台传递过来的Map
  9. 手把手教你从0到1进行Java项目实践
  10. Python+django建站入门篇(2):素数判断
  11. 关于注册中心的CAP定理。
  12. java实现一个电子书下载系统
  13. 遗传算法matlab_通俗易懂地解释遗传算法
  14. nginx配置多个域名使用同一个端口
  15. Maven第5篇:手把手教你搭建私服
  16. php毕业设计题目课题选题之php购物商城系统(1)开题报告
  17. 基于lucene的案例开发:纵横小说数据库操作
  18. 用JavaScript实现简单的星座查询
  19. 服务器虚拟化pue,降低数据中心PUE的八个办法
  20. What is design:the answer from Jony Ive

热门文章

  1. 什么是3D游戏建模?成为一个游戏建模师需要具备哪些能力?
  2. Python+pyc文件编译和运行
  3. 赵匡胤为何不把皇位传给儿子却传弟弟赵光义
  4. 深入浅出XDL(二):embedding
  5. python@regex正则表达式
  6. python+jieba分析唐诗三百首
  7. 某抑云评论的获取思路及实现
  8. 汶川地震十年祭 | 川大分享会:人如树,把根留住
  9. GUI编程(java)
  10. 我的前端学习之路-----HTML+css(一)