• 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>());
    ```
    从大到小排列`

  • 相关阅读:
    实验室机器OracleXE客户端连接远程Oracle服务器
    PLSQL Developer 远程连接Oracle XE数据库(其他Oracle数据库类似)
    VB进制转化大全
    给定一个硬盘标识,umout掉所有相关挂载
    linux读取硬盘指定扇区
    开发板上挂载NTFS分区
    write error:file too large!!!
    一些自用的c函数
    主引导记录(MBR)分析
    strtok_r函数学习
  • 原文地址:https://www.cnblogs.com/littlepage/p/10989600.html
Copyright © 2020-2023  润新知