C++string類整理

來源:互聯網
上載者:User

標籤:插入   ace   判斷字串   轉換   類的建構函式   pac   cout   添加   clu   

string類string類

標頭檔:#include<string>

名稱空間:using namespace std;

初始化:

string Str;

String類的建構函式和解構函式如下:

  1.     string s(str) //拷貝建構函式 產生str的複製品
  2.    string s(str,stridx) //將字串str內“始於位置stridx”的部分當作字串的初值
  3.     string s(str,stridx,strlen) //將字串str內“始於stridx且長度頂多strlen”的部分作為字串的初值
  4.     string s(cstr) //將C字串作為s的初值
  5.     string s(chars,chars_len) //將C字串前chars_len個字元作為字串s的初值。
  6.     string s(num,c) //產生一個字串,包含num個c字元
  7.     string s(beg,end) //以區間beg;end(不包含end)內的字元作為字串s的初值

string類操作

  1.  swap()   //交換兩個字串的內容
  2. +=,append(),push_back() //在尾部添加字元
  3.  insert() //插入字元
  4. erase() //刪除字元
  5. replace() //替換字元
  6.  empty()  //判斷字串是否為空白
  7. [ ], at() //存取單一字元
  8. >>,getline() //從stream讀取某值
  9. copy() //將某值賦值為一個C_string
  10. c_str() //將內容以C_string返回
  11. data() //將內容以字元數組形式返回
  12. substr() //返回某個子字串

 

string類與字串數組的轉換

 

C++提供的由C++字串得到對應的C_string的方法是使用data()、c_str()和copy(),其中,data()以字元數組的形式返回字串內容,但並不添加’\0’。c_str()返回一個以‘\0’結尾的字元數組,而copy()則把字串的內容複寫或寫入既有的c_string或字元數組內。C++字串並不以’\0’結尾。

string類型轉換為字元數組

#include<cstdlib>#include<iostream>#include<cstdio>#include<string>#include<cstring>using namespace std;int main(){       string s("123456.1");       char arr[10];       cout<<s.data()<<endl;//1.返回不帶‘\0‘ 的字元數組 123456.1       cout<<s.c_str()<<endl;//2.返回帶 ‘\0‘的字元數組 123456.1       s.copy(arr, 8);//3.回不帶‘\0‘ 的字元數組       arr[8] = ‘\0‘;//不帶 ‘\0‘ 輸出堆棧中的垃圾       cout<<arr<<endl;//123456.1       //轉數字       printf("%f\n",atof(s.data())); //123456.100000       printf("%f\n",atof(s.c_str()));//同上       printf("%f\n",atof(arr));//同上             cout<<strlen(arr)<<endl;//8       cout<<strlen(s.data())<<endl;//同上       cout<<strlen(s.c_str())<<endl;//同上       return 0;}

 

字元數組轉化成string類型

char ch [] = "ABCDEFG";
string str(ch);//也可string str = ch;
或者
char ch [] = "ABCDEFG";
string str;
str = ch;//在原有基礎上添加可以用str += ch;

提取子串:

substr(),形式如下:

s.substr();//返回s的全部內容

s.substr(11);//從索引11往後的子串

s.substr(5,6);//從索引5開始6個字元

把兩個字串結合起來的函數是+。

C++string類整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.