string用法詳解

2021-09-11 19:36:46 字數 1467 閱讀 3415

標準庫型別string,是可變長度的字串行,支援字串間的複製、比較、連線,還支援字串長度查詢和是否為空的判斷,並且可以訪問其中的單個字元。

使用它需要標頭檔案。

1.字串的連線:

s1=s1+s2; //將字串2接在字串1後面,後面可以是以雙引號引起來的非string型別的字串,但是必須至少存在乙個string型別的物件。

s1+=s2;//這種運算子都可以使用。

2.字串長度查詢:

利用s.size()的方法可以查詢字串s的長度。因為string也算標準庫型別(stl)中的乙個,所以也要使用s.的形式。

4.訪問其中的單個字元:

像是普通的陣列一樣,string型別也可以用s[i]的方法來訪問字串s中的第i個字元。

需要注意的是,陣列下標的型別並不僅僅是整型,所以在定義下標時,可以使用size_t來定義,例如:

for(size_t i=1;i<=s.size();i++)

還有一種設定方式:string::size type n; s[n];

5.初始化string型別字串

string s("hello");         /       string s="hello";

string s2(s1)      /       string s2=s1;  //都是拓建乙個s1的副本s2,s2的內容等於s1的內容。

string s4(n,'c');    //初始化為由n個c構成的字串s4。

6.判斷字串是否為空。

與一般的stl相同,只需要使用s.empty()即可。空則返回true,非空則返回false。

7.字串之間的比較

使用》、<、>=、<=、!=、==等關係運算子即可判斷。字串之間的大小比較是按字典序來比較的,並且區分大小寫(特別是判斷==的時候)。

8.string型別的陣列(???反正就是二維string)

string[n]可以開n列string型別。一列可以存乙個字串。

這樣的二維string可以使用sort()進行排序,也是按照字典序進行排序的。

輸入string時,可以用cin和getline輸入。

">>"輸入只能輸入乙個單詞,不能輸入空白字元,所以即使用while(cin>>s),也只能儲存最後乙個單詞在s中。

getline(cin,s)可以輸入一行字元直到遇到換行符,輸出時也輸出空格。

用while()輸入可以輸入至檔案末尾eof(有篇部落格說eof是c函式的返回值,null是檔案末尾)。wendows可以用ctrl+z來結束輸入。

字串"hello"是字面值,不是string型別,而是const char*,他們能用中的函式,但是string不能使用。用c_str()操作可以將string轉換為字串字面值:s.c_str()。

String用法詳解

include 注意這裡不是string.h,string.h是c字串標頭檔案這樣我們就宣告了乙個字串變數,但既然是乙個類,就有建構函式和析構函式。上面的宣告沒有傳入引數,所以就直接使用了string的預設的建構函式,這個函式所作的就是把str初始化為乙個空字串。string類的建構函式和析構函式如...

string的常見用法詳解

摘自胡凡的 演算法筆記 僅作記錄用!前言 為了使程式設計者可以更方便地對字串進行操作,c 在stl中加入了string型別,對字串常用的需求功能進行了封裝。如果要使用string,需要新增string標頭檔案,即 include 除此之外,還需要新增using namespace std 一 str...

C 之string定義 用法詳解

string用法 1,定義 string str 初始化 可以直接給string型別的變數賦值 string str abcd 使用時,需要加上標頭檔案 include using namespace std 2,string中內容訪問 一般來說,可以直接像字串陣列一樣取訪問 示例 include ...