C++ STL(一)string的用法
# 1.string的用法
- string在<iostream>的头中就有,但是还是得用<string>的头
##### 构造函数
- str(const char* ch) 直接赋值
- str(size_t n,char ch) 赋值n个ch字符
- str(char* ch,size_t n) 取ch指针的前n位
- str(string& str,size_t index,size_t length) 从index开始取length位
- str(string& str) 拷贝构造
##### 函数
- char* c_str() 返回一个char*
- int size() 返回长度
- char at(int index) 返回字符,越界会进行try catch捕获异常
- void insert(int index,string str)在index位置插入str
- void insert (int index,string str,int start,int end)在index位置插入截取str的
- void insert (int index,int count,char ch)在index位置插入count个的ch
- void append(string s) 增加字符串
- void erase(int start,int end) 擦除
- int compare(string str) 比较两个对象,可以比较
- int find(string str) str子串的下标
- int find(string str,int startIndex) 从startIndex开始找一个子串下标
- string substr(int startIndex,int endIndex) 从startIndex到endIndex取子串
- void swap(string s) 交换两个string
##### 运算符
- [int index] 获得索引位置字符
- << 输出
- \+ 连接
- == 进行判断是否相等
- \>=,<=,>,<都可以使用
##### 迭代器
```
#include <iostream>
#include <string>
using namespace std;
void funIterator(){
string s="hello world";
string::iterator ite=s.begin();
while(ite!=s.end()){
cout<<*ite<<" ";
ite++;
}
}
int main(int argc, char** argv) {
funIterator();
return 0;
}
```
iterator相当于一个指针
##### 算法
**foreach**
```
#include <iostream>
#include <string>
#include <algorithm>
void fun(char c){
cout<< c;
}
void funForEach(){
string str("abcdefg");
for_each(str.begin(),str.end(),fun);
}
int main(int argc, char** argv) {
funForEach();
return 0;
}
```
所有算法包含在algorithm,for_each循环的用法:
for_each(str.begin(),str.end(),fun);
fun的参数是开始结束元素数组的单个元素
**sort**
```
string str("gfde");
sort(str.begin(),str.end());
```
从小到大排列
```
string str("gfde");
sort(str.begin(),str.end(),greater<char>());
```
从大到小排列`
C++ STL(一)string的用法的更多相关文章
- STL string 常见用法详解
string 常见用法详解 1. string 的定义 //定义string的方式跟基本数据类型相同,只需要在string后跟上变量名即可 string str; //如果要初始化,可以直接给stri ...
- POJ 3096 Surprising Strings(STL map string set vector)
题目:http://poj.org/problem?id=3096 题意:给定一个字符串S,从中找出所有有两个字符组成的子串,每当组成子串的字符之间隔着n字符时,如果没有相同的子串出现,则输出 &qu ...
- STL 之 map的用法
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候 ...
- STL之sstream的用法
STL之sstream的用法 说在前面: 库定义了三种类:istringstream.ostringstream和stringstream,分别用来进行流的输入.输出和输入输出操作.另外,每个类都有一 ...
- C#中string.format用法详解
C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...
- String.format()用法
package junit.test; import java.util.Date; import java.util.Locale; import org.junit.Test; pub ...
- java中String的用法
String的用法很活跃,也用到的很多.可以根据自己的需要查询API.这里只有concat和substring,indexof的用法 class TestString { public static ...
- C#中string.Format 用法详解
这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string. ...
- Oracle中dbms_random.string 的用法
转载:https://blog.csdn.net/simonchi/article/details/8657787 DBMS_RANDOM.STRING(var1,var2) 这个函数有两个参数 va ...
随机推荐
- Uep查询语句总结
今天没事干总结一下uep查询语句: 第一种方法: 注意在实体写上对应的构造方法 package com.haiyisoft.entity.wz; import java.math.BigDecimal ...
- spring cloud microservice provider and consumer
MicroService Provider:https://files.cnblogs.com/files/xiandedanteng/empCloud190824.rarMicroService C ...
- Android Intent和IntentFilter详解与使用及实现系统“分享”接口
Intent Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到 ...
- 初学vue 在做项目时遇到的问题与解决办法(使用element组件)(二)
表格每行里都有按钮 <el-table-column prop="option" label="操作" align="center" ...
- 深度学习----现今主流GAN原理总结及对比
原文地址:https://blog.csdn.net/Sakura55/article/details/81514828 1.GAN 先来看看公式: GAN网络主要由两个网络构 ...
- 三十七:数据库之SQLAlchemy外建之多对多关系
准备工作 from sqlalchemy import create_engine, Column, Integer, String, Float, Text, ForeignKeyfrom sqla ...
- UniEAP Platform V5.0 Unable to compile class for JSP
流程设计器报错: http://127.0.0.1:8080/framework/workflow/webdesign/procmodify/procmodifydetail.jsp?isLoadDa ...
- shell脚本判断里面的字符含义
[ -s FILE ] 如果 FILE 存在且大小不为0则为真. [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c ...
- cf1151e number of components
很常见的思想:将整体求改为统计每个部分的贡献 本题中统计[l, r]时, 每个连通块有一个重要特征, 最右端的数在[l,r]中而下一个数不在(好像是句废话 那么我们分别考虑每个点对连通块的贡献, 即它 ...
- tail命令 查看文件尾部 输出文件后n行,默认查看文件的后10行
tail命令 查看文件尾部 用于查看日志 默认查看文件的后10行 -n 3 数字 也可以忽略-n 直接加数字 tail 3 查看文件后3行 [root@localhost ~]# tail /e ...