C++ STL(一)string的用法

2020-12-07 06:35

阅读:743

标签:获得   数组   截取   out   ret   oid   输出   构造   space   

# 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
#include
using namespace std;
void funIterator(){
string s="hello world";
string::iterator ite=s.begin();
while(ite!=s.end()){
cout ite++;
}
}
int main(int argc, char** argv) {
funIterator();
return 0;
}
```
iterator相当于一个指针

##### 算法
**foreach**

```
#include
#include
#include
void fun(char c){
cout}
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());
```
从大到小排列`

C++ STL(一)string的用法

标签:获得   数组   截取   out   ret   oid   输出   构造   space   

原文地址:https://www.cnblogs.com/littlepage/p/10989600.html


评论


亲,登录后才可以留言!