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) 若爲小寫字母則輸出大寫字母,否則輸出原樣