C string的常用操作

2021-09-25 02:33:56 字數 2956 閱讀 5704

int

main()

雖然at和operator都可以獲取指定下標的字元,但at有越界檢查,發現越界時(pos >= size())會丟擲異常std::out_of_range ,operator沒有越界檢查,當越界時行為未定義。

int

main()

int

main()

引數

說明str

字串str

str,pos,len

str中從pos開始最多len個字元

cp,len

從cp指向的字元陣列最多len個字元

cpcp指向的以空字元結尾的字元陣列

n,cn個字元c

b,e迭代器b和e指定的範圍內的字元

初始化列表

花括號包圍的,以逗號分隔的字元列表

replace將string指定範圍內的字元替換為其它字元,然後返回string的引用,當replace的前兩個引數為pos,len的時候,後面的引數可以是下面的形式:

引數說明

str字串str

str,pos,len

str中從pos開始最多len個字元

cp,len

從cp指向的字元陣列最多len個字元

cpcp指向的以空字元結尾的字元陣列

n,cn個字元c

當replace的前兩個引數為迭代器範圍時,後面的引數可以是下面的形式:

引數說明

str字串str

cp,len

從cp指向的字元陣列最多len個字元

cpcp指向的以空字元結尾的字元陣列

n,cn個字元c

b,e迭代器b和e指定的範圍內的字元

初始化列表

花括號包圍的,以逗號分隔的字元列表

insert在pos之前插入指定的字元,當pos是下標時返回string的引用,pos是迭代器時返回第乙個插入字元的迭代器。

當pos是下標時引數形式可以是:

引數說明

str字串str

str,pos,len

str中從pos開始最多len個字元

cp,len

從cp指向的字元陣列最多len個字元

n,cn個字元c

當pos是迭代器時引數形式可以是:

引數說明

n,cn個字元c

b,e迭代器b和e指定的範圍內的字元

初始化列表

花括號包圍的,以逗號分隔的字元列表

int

main()

);cout << str1 << endl;

//1abc23456

cout <<

*iter<< endl;

//a cout <<*(

++iter)

<< endl;

//bsystem

("pause");

}

string類提供了6個不同的查詢函式,每個函式有4個過載版本,當搜尋失敗時,返回乙個名為string::npos的靜態成員,標準庫將npos定義為string::size_type型別並初始為-1。當搜尋成功時,返回第乙個匹配位置的下標。

搜尋操作

說明s.find(args)

查詢s中args第一次出現的位置

s.rfind(args)

查詢s中args最後一次出現的位置

s.find_first_of(args)

在s中查詢args中任何乙個字元第一次出現的位置

s.find_last_of(args)

在s中查詢args中任何乙個字元最後一次出現的位置

s.find_first_not_of(args)

在s中查詢第乙個不在args中的字元

s.find_last_not_of(args)

在s中查詢最後乙個不在args中的字元

args可以使如下形式:

args

說明c,pos

從s中位置pos開始查詢字元c,pos預設為0

s2,pos

從s中位置pos開始查詢字串s2,pos預設為0

cp,pos

從s中位置pos開始查詢以空字元結尾的字元陣列cp,pos預設為0

cp,pos,n

從s中位置pos開始查詢以空字元結尾的字元陣列cp的前n個字元,pos和n無預設值

int

main()

將string轉換為整型時,如果string前面有空白符則會忽略,然後取盡可能多的字元轉換。不能轉換則丟擲std::invalid_argument異常,若轉換值落在結果型別的範圍外則丟擲std::out_of_range異常。

int

main()

將string轉換為整型時,如果第二個引數不為空,則將首個不能轉換為整型的字元的下標儲存到第二個引數。

int

main()

將string轉換為整型時,第三個引數表示底數,預設為10,合法取值為,當底數為8或0時,字首為0的字串會以八進位制解析,當底數為16或0時,字首為0x的字串會以十六進製制解析。

int

main()

int

main()

int

main()

; hash hashhelper;

cout <<

hashhelper

(str1)

<< endl;

//1939947627

system

("pause");

}

C string常用操作

1.獲取字串長度 string str 1234567 int len str.length len 72.字串比較原理 兩個字串自左向右逐個字元相比 按ascii值大小相比較 直到出現不同的字元或遇 0 為止,如 15 123 若是遇到 0 結束比較,則長的子串大於短的子串,如 9856 985 ...

C string常用操作

string是乙個類,char是乙個指標 string 封裝了char,管理該字串,是個char 的容器 string封裝了很多實用的方法 如 查詢,拷貝,刪除,替換,插入等 string不需要考慮記憶體釋放和越界問題 string轉char string str deffre 注意 這裡要加上 c...

CString常用操作種種

cstring給mfc程式設計師帶來了在那個年代不敢奢望的功能,甚至在vs2005剛發布的時候,為了應對預設unicode的問題,我常常使用cstring避免顯式的寬字元轉換。在現在,好用的cstring也是atl的一部分了。其實atl裡的cstring和mfc裡的是同乙個東東,如果在mfc中已經很...