字串型別

2021-07-01 23:58:39 字數 2180 閱讀 6051

c++定義了乙個內容豐富的抽象資料型別庫,其中,string和vector是兩種最重要的標準庫型別,前者支援可變長字串,後者則表示可變長的集合。還有一種標準庫型別是迭代器,它是string和vector的配套型別,常被用於訪問string中的字元或vector中的元素。本篇將介紹string型別。

標註庫型別string表示可變長的字串行,使用string型別必須首先包含string標頭檔案。

1.定義及初始化

string s1;            //預設初始化,s1是空字串

string s2=s1; //如果使用「=」初始化乙個變數,實際上執行的是拷貝初始化。

string s3="hiya" //字串字面值中除了最後那個空字元外其他所有的字元都被拷貝到新建立的string物件中去

string s4(10,'c') //直接初始化

2.string物件上的操作

(1).常用操作:

getline(is,s)       //從is中讀取一行賦給s,返回is

s.empet() //s為空返回true,否則返回false

s.size() //返回s中字元的個數;size返回的是乙個string::size_type型別,他是string的乙個配套型別

s[n] //返回s中第n個字元的引用,位置n從0記起

還有比如:s1+s2 ; s1=s2 ;s1==s2 ; s1<(<=)s2等等...

(2).string物件的讀取

iostream在讀取string操作時,會自動忽略開頭的空白並從第乙個真正的字元讀起,直到遇見下乙個空白為止。可以利用while語句反覆作讀取操作。

int main()

{ string word;

while(cin>>word)

cout<

也可以使用getline函式讀取一行。他的引數是乙個輸入流和乙個string物件,從給定的輸入流中讀入內容,直到遇到換行符為止,然後把所讀的內容存入到那個string物件中去。

(3).兩個string物件相加

兩個string物件相加,其內容結果是把左側的運算物件與右側的運算物件串接而成。標準庫也允許把字面值和string物件相加,但是,當把string物件和字元字面值及字串字面值混在一條語句中使用時,必須確保每個加法運算子兩側的運算物件至少有乙個是string。

(4).處理string物件中的字元

方法1處理每個字元,使用基於範圍的for語句,這種語句遍歷給定序列中的每個元素並對序列中的每個值執行某種操作:

語法形式:

for(declaration : expression)

statement

示例:輸出string物件中的每個字元,每行乙個。

string str("some string");

for(auto c : str)

cout<

方法2只處理一部分字元或者單個字元,

有兩種方式:一種是使用下標,另外一種是使用迭代器。

下標運算子[ ]接收的輸入引數型別是string::zise type型別,這個引數表示要訪問的位置;返回值是給位置上字元的引用。string物件的下標是從0記起的。下標的值稱為「索引」,任何表示式只要它的值是乙個整型值就能作為索引,如果是帶符號型別將自動轉換成無符號型別。在訪問指定字元之前,首先檢查s是否為空。

示例:使用下標執行迭代

for(decltype(s.size())index=0;index !=s.size() && isspace(s[index]);++index)

s[index]=toupper(s[index]);

示例:使用下標執行隨機訪問-把0-15之間的十進位制數轉換成16進製制數

const string hexdigits="0123456789abcdef";

cout<<"enter a series of numbers between 0-15"<>n)

if(n

mysql字串型別 mysql 字串型別

字串型別 字串型別指char varchar binary varbinary blob text enum和set。該節描述了這些型別如何工作以及如何在查詢中使用這些型別。型別大小用途 char0 255位元組定長字串 varchar0 65535 位元組變長字串 tinyblob0 255位元組...

字串型別

redis字串型別鍵的查詢 1.get 查詢key的值 2.mget 查詢所有key的值 3.getrange 查詢乙個字串的子串,子串的內容取決於start和end.4.strlen 返回key的字串長度 5.getset 原子地給乙個key設定value並且將舊值返回 redis字串型別鍵的計數...

字串型別

1.表示形式 字串要用 或者 括起來,可在變數中,也可單獨存在可以用type 來測試變數型別 str1 hello str2 world 2.轉義符 n 換行 print str1 print hello nword n nhi 例 h e l l o 位置索引值 0 1 2 3 4 0 l 1 反...