C++ 标准库类型 string
生活随笔
收集整理的這篇文章主要介紹了
C++ 标准库类型 string
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++ 標準庫類型 string
一、string 類型的使用和定義
1、使用 string 類型
標準庫類型 string 表示可變長的字符序列
#include <string> using std::string;2、定義和初始化 string 對象
直接初始化:使用括號
拷貝初始化:使用等號
二、string 對象的操作
1、string::size_type 類型
string 類型的 size() 和下標的數據類型是size_type,是一種無符號整型數。不可與有符號類型混用
// 推導變量另外類型 string line("xxx");// 法一 auto len = line.size();// 法二 decltype(line.size()) len = line.size();2、讀寫 string 對象
讀取: string 對象會自動忽略開頭的空白(空格符、換行符、制表符)從第一個非空字符讀取直到遇見下一處空白為止。
輸出: 與標準的輸出一樣
3、string 對象比較與相加
string 對象比較:
- 從第一個字符開始比較
- 遇到字符不同的按字典順序進行比較,得到結果
- 如果字符相同,比較長短
string 對象相加:
- 兩個 string 對象相加即為拼接
- 可以一個 string 對象加一個字符串,返回的還是 string 對象
- 不能兩個字符串相加,除非前面已經有 string 對象
4、處理 string 對象中的字符
for 語句訪問 string 對象中的字符:
// declaration 變量是 expression 基礎元素 for(declaration: expression)statement// 循環打印字符 string str("xxx") for(auto c : str)cout << c << endl;// 使用引用改變 string對象的字符 string str("xxx") for(auto &c : str)c = toupper(c);- declaration: 定義一個變量
- expression: string 對象
- statement: 對變量的操作
下標訪問:
下標從 0 開始,小于 size()
// 將第一個單詞改為大寫形式 string s("xxxx") for (decltype(s.size()) index = 0; index != s.size() && !isspace(s[index]); ++index)s[index] = toupper(s[index]);5、截取 string 的子串
// 截取s中從pos開始(包括0)的n個字符的子串,并返回 s.substr(pos, n) // 截取s中從pos開始(包括0)到末尾的所有字符的子串,并返回 s.substr(pos)6、替換 string 的子串
// 用s1替換s中從pos開始(包括0)的n個字符的子串s.replace(pos, n, s1)7、查找 string 的子串
// 查找s中第一次出現s1的位置,并返回(包括0)s.find(s1) // 查找s中最后次出現s1的位置,并返回(包括0) s.rfind(s1) // 查找在s1中任意一個字符在s中第一次出現的位置,并返回(包括0) s.find_first_of(s1) // 查找在s1中任意一個字符在s中最后一次出現的位置,并返回(包括0) s.find_last_of(s1) // 查找s中第一個不屬于s1中的字符的位置,并返回(包括0) s.fin_first_not_of(s1) // 查找s中最后一個不屬于s1中的字符的位置,并返回(包括0) s.fin_last_not_of(s1)與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的C++ 标准库类型 string的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 预处理器
- 下一篇: C++ 标准库类型 vector