C++ string筆記

CPP 標準庫類型string

標準庫類型string表示可變長的字符序列,包含於string頭文件,定義在std命名空間中

1.引入

#include<string>
using std::string;

2.初始化方法

string s1 //默認初始化, S1是一個空字符串
string s2(s1) //s2是s1的副本
string s2 = s1 //等價於s2(s1)
string s3("value") // 創建值爲value的字符串
string s4(n,'c') //創建一個爲n個'c'的字符串

3.string操作

string s;
os << s; //將字符串s寫到輸出流中,返回os
is >> s; //從is中讀取字符串賦給s,字符串以空白分隔,返回os
getline(is,s); //從is中讀取一行到s中,返回is
s.empty() //如果s爲空字符串,返回true,否則返回false
s.size() //返回s中的字符數
s[n] // 返回s種地n個字符的引用
s1+s2 // 返回s1與s2字符的拼接
s1==s2 //如果字符串所含字符完全一樣,返回true,否則返回false
s1!=s2 //結果與 == 相反
<,<=,>,>= //字典序比較,對大小寫敏感
string substr (size_t pos = 0, size_t len = npos) const; // 子字符串
 string& erase (size_t pos = 0, size_t len = npos); //刪除 pos位置,長度爲npos個字符
iterator erase (iterator p); // 刪除迭代器p處的字符
 iterator erase (iterator first, iterator last); // 刪除從迭代器first 到 last的 字符
erase例子
// string::erase
#include <iostream>
#include <string>

int main ()
{
  std::string str ("This is an example sentence.");
  std::cout << str << '\n';
                                           // "This is an example sentence."
  str.erase (10,8);                        //            ^^^^^^^^
  std::cout << str << '\n';
                                           // "This is an sentence."
  str.erase (str.begin()+9);               //           ^
  std::cout << str << '\n';
                                           // "This is a sentence."
  str.erase (str.begin()+5, str.end()-9);  //       ^^^^^
  std::cout << str << '\n';
                                           // "This sentence."
  return 0;
}

4.cctype頭文件處理char

isalnum(c) 判斷c是否爲字母或數字
isalpha(c) 判斷c是否爲字母
iscntrl(c) 判斷c是否爲控制字符
isdigit(c) 判斷c是否爲數字
isgraph(c) 當c不是空格但可打印時爲真
islower(c) 當c是小寫字母時爲真
isprint(c) 當c爲可打印字符時爲真
ispunct(c) 當c是標點符號時爲真
isspace(c) 當c爲空白時爲真
isupper(c) 當c爲大寫字母時爲真
isxdigit(c) 但c爲16進制數字時爲真
tolower(c) 若爲大寫字母則輸出小寫字母,否則輸出原樣
toupper(c) 若爲小寫字母則輸出大寫字母,否則輸出原樣
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章