zoukankan      html  css  js  c++  java
  • 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++
  • 相关阅读:
    hdu 3666 差分约束系统
    hdu 1198农田灌溉
    常微分方程(阿諾爾德) Page 45 相空間,相流,運動,相曲線 註記
    高等微積分(高木貞治) 1.4節 例2
    常微分方程(阿諾爾德) Page 45 相空間,相流,運動,相曲線 註記
    解析函數論 Page 29 命題(2) 函數模的有界性
    高等微積分(高木貞治) 1.4節 例2
    解析函數論 Page 29 命題(1) 有界閉集上的一致連續性
    解析函數論 Page 29 命題(3) 模的下界的可達性
    解析函數論 Page 29 命題(2) 函數模的有界性
  • 原文地址:https://www.cnblogs.com/wjc2021/p/10673930.html
Copyright © 2011-2022 走看看