• C++程序设计入门(上) string类的基本用法


    string类中的函数

    1. 构造

    2. 追加

    3. 赋值

    4. 位置与清除

    5. 长度与容量

    6. 比较

    7. 子串

    8. 搜索

    9. 运算符

    追加字符串

    string s1("Welcome");
    s1.append(" to C++"); // appends " to C++" to s1 
    cout << s1 << endl; // s1 now becomes Welcome to C++
    
    string s2("Welcome");
    s2.append(" to C and C++", 3, 2); // appends " C" to s2 
    cout << s2 << endl; // s2 now becomes Welcome C
    
    string s3("Welcome");
    s3.append(" to C and C++", 5); // appends " to C" to s3 
    cout << s3 << endl; // s3 now becomes Welcome to C
    
    string s4("Welcome");
    s4.append(4, 'G'); // appends "GGGG" to s4 
    cout << s4 << endl; // s4 now becomes WelcomeGGGG

    为字符串赋值

    string s1("Welcome"); 
    s1.assign("Dallas"); // assigns "Dallas" to s1 
    cout << s1 << endl; // s1 now becomes Dallas
    
    string s2("Welcome"); 
    s2.assign("Dallas, Texas", 1, 3); // assigns "all" to s2 
    cout << s2 << endl; // s2 now becomes all
    
    string s3("Welcome"); 
    s3.assign("Dallas, Texas", 6); // assigns "Dallas" to s3 
    cout << s3 << endl; // s3 now becomes Dallas
    
    
    string s4("Welcome");
    s4.assign(4, 'G'); // assigns "GGGG" to s4 
    cout << s4 << endl; // s4 now becomes GGGG

    at(index):  返回当前字符串中index位置的字符

    clear(): 清空字符串

    erase(index, n):  删除字符串从index开始的n个字符

    empty(): 检测字符串是否为

    string s1("Welcome");
    cout << s1.at(3) << endl; // s1.at(3) returns c
    cout << s1.erase(2, 3) << endl; // s1 is now Weme
    
    
    s1.clear(); // s1 is now empty
    cout << s1.empty() << endl; // s1.empty returns 1 (means true)

    比较字符串:

    string s1("Welcome");
     string s2("Welcomg");
    
    cout << s1.compare(s2) << endl; // returns -2 
    cout << s2.compare(s1) << endl; // returns 2
    cout << s1.compare("Welcome") << endl; // returns 0

    获取子串:

    at() 函数用于获取一个单独的字符;而substr() 函数则可以获取一个子串

    string s1("Welcome");
    cout << s1.substr(0, 1) << endl; // returns W ; 从 0 号位置开始的 1 个字符
    cout << s1.substr(3) << endl; // returns come ; 从 3 号位置直到末尾的子串
    cout << s1.substr(3, 3) << endl; // returns com ;从 3 号位置开始的 3 个字符

    搜索字符串

    string s1("Welcome to HTML"
    cout << s1.find("co") << endl; // returns 3 ; 返回子串出现的第一个位置); 
    cout << s1.find("co", 6) << endl; // returns -1 从 6 号位置开始查找子串出现的第一个位置 
    cout << s1.find('o') << endl; // returns 4    返回字符出现的第一个位置 
    cout << s1.find('o', 6) << endl; // returns 9   从 6 号位置开始查找字符出现的第一个位置

    插入和替换字符串

    insert() : 将某个字符/字符串插入到当前字符串的某个位置

    replace() 将本字串从某个位置开始的一些字符替换为其它内容

    string s1("Welcome to HTML"); 
    s1.insert(11, "C++ and "); 
    cout << s1 << endl; // s1 becomes Welcome to C++ and HTML
    
    string s2("AA"); 
    s2.insert(1, 4, 'B'); // 在 1 号位置处连续插入 4 个相同字符 
    cout << s2 << endl; // s2 becomes to ABBBBA
    
    string s3("Welcome to HTML"); 
    s3.replace(11, 4, "C++"); // 从 11 号位置开始向后的 4 个字符替换掉。注意 '' 
    cout << s3 << endl; // returns Welcome to C++
  • 相关阅读:
    临时文件服务器,配置共享文件夹
    封装扩展方法
    List.Insert
    VS 生成事件中xcopy失败
    创建型设计模式总结
    js提交图片转换为base64
    C#建造者模式
    echarts 立体柱
    k8s生产环境启用防火墙,要开启的端口
    一篇文章为你图解Kubernetes网络通信原理
  • 原文地址:https://www.cnblogs.com/wjc2021/p/10673930.html
Copyright © 2020-2023  润新知