C++中的string用法
(本人只是小新,写博客就是想记录学习,同时让一些大佬看到我的学习记录可以指出我的错误)
目录
(1)对于string的个人理解
(2)字符串的输入
(3)字符串的基本操作
(4)字符串的输出
对于C++中的string用法
1:对于string的个人理解:
string个人理解是字符串类型,既然是字符串的类型,那么这篇文章我就分为第一步如何输入字符串,第二步如何对字符串进行操作,第三步如何输出字符串。
2:字符串的输入:
(1)cin输入字符串:cin后面可以直接加字符串的名字,不过这种输入如果遇到空格,Tab键,回车的话就直接结束。如下面的代码所示:
#include<bits/stdc++.h>
using namespace std;
int main()
{string s;//输入字符串abc def//abc和def之间有个空格cin>>s;cout<<s;return 0;
}
这里的cout可以直接输出字符串的,后面(4)字符串的输出会讲到的。这里abc和def之间是有空格的,cin再读入时遇到边终止了,所以输出是abc。
(2)gerline读入字符串:getline的读入解决了cin遇到空格等终止的缺点,格式是:getline(cin,s),括号里的cin是固定的,s是一个字符串的名字,代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{string s;getline(cin,s);cout<<s;return 0;
}
中间有许多空格,输出的时候同时也将这些空格也输出了。(当然还有其他的可以接收空格字符等的,但我喜欢用的是getline)
3:字符串的基本操作:
(1)string字符串的比较:可以直接使用 compare函数 等来比较,比较的规则是,输出第一个不同字符的比较结果,大于返回1,小于返回-1,相等返回0。compare同时也可以接受其它的参数(具体大家可以参考其他资料哈),代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{string a,b;getline(cin,a);getline(cin,b);cout<<a.compare(b);return 0;
}
(2)insert函数:插入
这里的插入可以是字符或者是字符串
1:插入的是字符:格式是a.insert(pos,n,'s')这里的a是字符串的名字,pos是插入的位置,n是字符个数,s代表的就是插入的字符,注意这里的n不可以省略,即使插入的字符只有一个。
2:插入的是字符串:格式是a.insert(pos," s")这里的a是字符串的名字,pos是插入的位置,s是要插入的字符串。代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{string a,b;getline(cin,a);cout<<"插入前:"<<a<<endl;a.insert(2,"shd");cout<<"插入后:"<<a<<endl;getline(cin,b);cout<<"插入前:"<<b<<endl;b.insert(3,1,'s');cout<<"插入后:"<<b<<endl;return 0;
}
(3)erase函数:删除
删除的格式:a.erase(2,4)这里的a是字符串的名字,2代表的是删除的起始位置,4代表的是从起始位置开始要删除的字符个数。代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{string a,b;getline(cin,a);a.erase(2,5);cout<<a;return 0;
}
(4)subsrt函数:剪切,我们也可以理解成字符串的子串,格式:a.substr(pos,n)这里的a是字符串的名字,pos是起始位置,n是从起始位置开始算的字符个数。代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{string a,b;getline(cin,a);b=a.substr(4,5);cout<<"b="<<b;return 0;
}
(5)append函数:添加
其实与insert插入函数的作用差不多,append函数我们一般用来在末尾添加,不需要还要知道原来字符串的长度,append函数如果末尾添加的是字符的话,不管数量多少,都要写一个数字参数代表个数,具体如代码所示:
#include<bits/stdc++.h>
using namespace std;
int main()
{string a,b;getline(cin,a);b="abcd";a.append(b);cout<<a<<endl;a.append(1,'2');cout<<a;return 0;
}
(6)replace函数:替换
顾名思义就是将字符串中的子串替换成其它的字符或者字符串。首先替换字符串,格式是a.replace(pos,n,"12345")这里的a是字符串名字,pos是起始位置,n是从起始位置算起的字符数,后面的双引号里的就是用它来替换从pos开始的n个字符。如果替换字符的话,格式:a.replace(pos,n,ans,' ' )这里的pos和n跟上面一样,ans是字符个数,' ' 里面的是字符,具体见代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{string a,b;getline(cin,a);b="12345";a.replace(1,3,"12345");cout<<a<<endl;string sa,sb;getline(cin,sa);sa.replace(2,1,2,'0');cout<<sa<<endl;return 0;
}
(7)find函数:查找
查找字符或者字符串第一次出现的位置,格式具体见代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{string a,b;getline(cin,a);b="123";cout<<a.find('a')<<endl;cout<<a.find(b);return 0;
}
(8)revese函数:反转
具体见代码格式:
#include<bits/stdc++.h>
using namespace std;
int main()
{string a,b;getline(cin,a);reverse(a.begin(),a.end());cout<<a;return 0;
}
4:字符串的输出
个人比较喜欢用cout输出,虽然效率不高,但方便。代码如下
#include<bits/stdc++.h>
using namespace std;
int main()
{string a,b;getline(cin,a);cout<<a;return 0;
}
C++中的string用法相关推荐
- C++/C++11中std::string用法汇总
C++/C++11中std::string是个模板类,它是一个标准库.使用string类型必须首先包含<string>头文件.作为标准库的一部分,string定义在命名空间std中. st ...
- java中的string用法详解
构造器 Java中,一切皆对象,String也是.如果是对象的话,那第一个想到的函数自然而然就是构造器啦!语法如下: String str = new String("I am a stri ...
- C++string类常用函数 c++中的string常用函数用法总结
string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类 ...
- C++中std::string::find_last_of用法
早上本来还看代码时本来还迷迷糊糊,结果被find_last_of一下给震醒了,std::string 使用了这么多年,今天才发现find_last_of只是用来查找字符的,多年来一直以为它可用来查找字 ...
- C++中的string类用法简介
本文主要介绍C++中的string类的常见用法. 1. 概述 string是C++标准库的一个重要的部分,主要用于字符串处理.可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行s ...
- c++中string和c语言string用法总结
实例引出: 这个一个字符变换的题目:需要把输入的含有Q加数字的变为对应的Text+个数的形式: 输入样例为: abddaQ123werQ1234 输出为:abddaText1werText2 我在编写 ...
- c 语言string类用法,C++中的string类用法简介
本文主要介绍C++中的string类的常见用法. 1. 概述 string是C++标准库的一个重要的部分,主要用于字符串处理.可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行s ...
- mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法
Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...
- 【C++】C/C++ 中 static 的用法全局变量与局部变量
C/C++ 中 static 的用法全局变量与局部变量 目录 1. 什么是static? 1.1 static 的引入 1.2 静态数据的存储 2. 在 C/C++ 中static的作用 2.1 总的 ...
最新文章
- nuxt 如何引入js_nuxtjs如何在单独的js文件中引入store和router
- 对象的序列化和反序列化
- windows 7架设OpenSSH服务器实践
- Docker入门 一 安装Docker
- 程序代码初学者_初学者:如何使用热键在Windows中启动任何程序
- ffmpeg的内部Video Buffer管理和传送机制
- Java基础篇4——数组
- Amazon S3 各服務據點速度比較
- java安装找不到uri,【找不到与请求 URI匹配的 HTTP 资源】(转)
- 推荐系统在滴滴司机调度系统中的应用实践
- 一元线性回归原理及python简单实现
- 中国人工智能学会通讯——一种基于众包的交互式数据修复方法 3 给定质量约束下的交互式算法...
- Ubuntu安装Robo3T(Studio3T Free)
- 智能门锁与网关:海康萤石智能门锁的网关分析(二)
- vscode的插件prettier配置
- 从零构建通讯器--4.3日志打印实战,捋下main函数的调用顺序
- Go 学习笔记(83)— 编码规范及常用开发技巧
- K8S故障排查指南:部分节点无法启动Pod资源-Pod处于ContainerCreating状态
- Linux磁盘分区初始化
- [限免]可爱怪兽来了~ 培养孩子辨识数字的「Cutie Mini Monsters」! ...