C++ string 的简单总结

C++ string 的简单总结,第1张

C++ string 的简单总结
#include "iostream"
#include "string"
using namespace std;

int main() {
    // 初始化
    string a0;  // empty string
    string a1 = "1234";
    string a2(a1);  // copy a1
    string a3(a1, 1);  // from position1 to end  "234"
    string a4(a1, 1, 2);  // start at position1 ,length = 2  "23"
    string a5(5, 'c');  // "ccccc"

    // 赋值 *** 作,使用assign 和 =
    string a;
    a = "123";  // output "123"
    a.assign("12345");  // output "12345"
    a.assign("12345",3);  // 从头开始长度为3的子串 output "123"
    a.assign("123456", 1, 3);  // 从1下标开始长度为3的子串 output "234"
    a.assign("123456", 1, string::npos);  // 从1下标开始到结尾的子串 output "23456"

    // 交换
    string b = "1212";
    swap(a, b);  // 交互相换内容,其实也是一种赋值方式。

    // 尾部插入
    a = "123";
    a += '1';
    a += "123";  // 既可以插入char,也可以插入string

    a = "12";
    a.append("ab");  //append 也是尾插,但是只支持string,要加单个字符的话也得是string。
    a.append("123",1,2);  // 插入从下标1开始长度为2的子串
    a.append("123", 1, string::npos);  // 从下标1开始到结尾的子串
    a.append(5, 'c');  // 插入5个'c'
    a.append("123",2);  // 插入从头开始长度为2的子串

    a.push_back('c');  // push_pack 尾部插入,只支持char

    // 中间插入
    a.insert(1,"123");  // 必须插入字符串,不能插入char

    // 替换
    a = "1234";
    a.replace(1,2,"aa");  // 从下标1开始,长度为2的子串替换为"aa" 屌!

    // 清除
    a = "1234";
    a.erase(1);  // 从1开始全部清除
    a.erase(1,2);  // 从1开始清除长度为2的子串
    a.clear();  // 全部清除

    // 切割
    a = "12345678";
    b = a.substr(3);  // 从下标3开始到结尾切割子串
    b = a.substr(2,4);  // 下标3开始长度为4 切割子串
    b = a.substr();  // copy

    // 比较
    a = "aaa";
    int res;
    res = a.compare("aaa");  // 比较的规则暂时不太明确,数字比大小,字母的话可能比码的大小吧。等于返回0,大于返回1,小雨返回-1;
    a < "aa";  // > < =等 返回值1代表true,0代表false

    // 其余
    a = "1234";
    cout << a.size() << endl; // 4
    cout << a.length() << endl; // 4
    cout << a.max_size() << endl;  // 最大尺寸
    cout << a.empty() << endl; // 0,false 非空
    //暂时整理到这里
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4949395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存