C++之標準庫類型string(g++)

NOTE:

eclipse支持C++11:g++ -std=c++11 增加編譯選項,g++ 版本 4.8.1 及以上支持c++11

字符串字面值是 const char * 類型,不是 string 類型。

string 的輸入運算符自動忽略開頭空白,從真正字符讀起,直到遇見下一次空白(空格、換行、製表等)。;getline 會原樣保留空白。(遇換行符都會結束當次輸入)

頭文件中最好不用 using 聲明,以免造成衝突。

string對象會自動忽略開頭空白。

範圍for語句 和auto關鍵字,拷貝或引用str`的每個字符。

 for(auto &c:str)
{
        c = 'X';
    } 

儘量使用C++中的對應頭文件。

decltype(s.size()) size=0;來聲明string尺寸類型; 使用 assert 來斷言下標未越界。

using s_size = string::size_type; 等價於 typedef string::size_type size 類型定義


string初始化

string s; 默認初始化,空

string s2(s1); s2是s1的副本

string s2 = s1;與上等價

string s3("val"); 副本,除了最後的空字符

string s3 = "val"; 與上等價

string s4(n,'c') n個 c 字符組成s4

使用等號初始化一個變量執行拷貝初始化,否則執行直接初始化。


string 對象上的操作

basic_istream<char>& getline(basic_istream<char>&, string&, char); 未遇到邊界時讀取一行,否則讀到邊界並拋棄邊界符。

basic_istream<char>& getline(basic_istream<char>&, string&); 上面邊界符號爲 ‘\n’的情況。

os<<s;s寫到輸出流os中,返回os.

is>>s;is中讀取字符串賦給s,字符串以空白分隔,返回is.

s.empty()

s.size()字符個數

s[n]第n個字符的引用,從0開始

+、=、==、!=、<、<=、>、>=


字符處理 #include <cctype>

isalnum(c) 字母或數字時爲真

isalpha(c) 字母

iscntrl(c) 控制字符

isdigit(c) 數字

isgraph(c) 不是空格但可打印

islower(c) 小寫字母

ispunct(c) 標點符號

isspace(c) 空白(空格、橫(縱)向製表符、回車符、換行符、進紙符)

isprint(c) 可打印(空格或可視)

isupper(c) 大寫字母

isxdigit(c) 十六進制數字

tolower(c) 轉小寫

toupper(c) 轉大寫


C++string類常用函數

C++string類常用函數 > http://www.cppblog.com/lmlf001/archive/2006/04/19/5883.html

發佈了38 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章