標準c++提供了叫做string的新類,該類在多個方面改善了傳統的c字串。雖然字串類還不是stl中的一部分,但是c++也將其視為乙個容器,幾乎所有適合容器的演算法都能操作string物件。如果要使用string類時,應在程式中包含標頭檔案。
string類很龐大,含有很多建構函式、成員函式和操作符。我們可以使用他們完成以下任務:
1.建立字串物件
2.從鍵盤輸入字串
3.將字串物件顯示在螢幕上
4.從字串中找到子串
5.修改乙個字串物件
6.比較兩個字串物件
7.新增字串物件
8.訪問字串中的字元
9.獲取字串的大小
10.以及眾多其他操作
舉例:一、建立字串物件
我們可以使用多種方式建立字串,如下所示:
string s1;
string s2("xyz");
string s3=s1;
程式:#include#includeusing namespace std;
int main()
{ //新建字串物件
string s1;
string s2("new");
string s3("delhi");
//給字串物件賦值
s1=s2;
cout<<"s1="<>s4; //用空格結束
cout<<"now s4="<
二、修改字串
程式:#include#includeusing namespace std;
int main()
{ string s1("12345");
string s2("abcde");
cout<<"original strings are:"<
三、關係操作(字串物件的關係操作)
string類定義了一些作用於字串的操作符。
程式:#include#includeusing namespace std;
int main()
{ string s1("abc");
string s2("xyz");
string s3=s1+s2;
if(s1!=s2)
{cout<<"s1 is not equal to s2"{
cout<<"s1 is greater than s2"<0)
{cout<<"s1>s2"<
類string有很多函式,它們可以用來獲取字串的一些屬性,比如大小、長度、容量等。大小或長度指的是字串中已有字元的個數。而容量是指當前的字串中能儲存的總的元素個數。另乙個屬性是最大大小,它是指在系統最大限度的支援下,字串擁有的最大大小。下面程式演示了這些屬性的獲取和使用。
程式:#include#includeusing namespace std;
void display(string &str)
{ cout<<"size="<>s1;
cout<<"status now:"<
五、訪問字串中的字元
我們可以用多種方式來訪問字串中的字元和字串,string類有以下函式可完成此任務:at()、substr()、find()、find_first_of()、find_last_of()。
程式:#include#includeusing namespace std;
int main()
{ string s("one two three four");
cout<<"the string contain:"<
六、比較和交換
string模擬較支援比較和交換函式。compare()函式可以用以比較兩個字串,或者比較兩個字串中的一部分。swap()函式則用以交換兩個字串物件的內容。
程式:#include#includeusing namespace std;
int main()
{ string s1("road");
string s2("read");
string s3("red");
cout<<"s1="<0)
{cout<<"s1>s2"<
C 字串操作詳解(整理)
尊重並感謝原創。選用c 標準程式庫中的string類,是因為他和c string比較起來,不必擔心記憶體是否足夠 字串長度等等,而且作為乙個類出現,他整合的操作函式足以完成我們大多數情況下 甚至是100 的需要。我們可以用 進行賦值操作,進行比較,做串聯 是不是很簡單?首先,為了在我們的程式中使用s...
C語言字串操作函式整理
整理c語言字串相關的函式,以程式方式驗證,以注釋方式做說明。1 include2 include 3 include4 intmain 5102 103 功能 分解字串為一組字串。s 為要分解的字串,delim 為分隔符字串。104說明 首次呼叫時,s 指向要分解的字串,之後再次呼叫要把 s 設成 ...
C 常用字串操作整理
c 常用字串操作匯集 string str1 ttt 建立並初始化 string str2 txhe 另一種方式 char str3 abcdefg 以定義字元陣列的方式建立 cout string str4 str3 cout string str5 str3,3,4 cout 將前三個字元作為初...