程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> STL容器string基礎用法小結,stl容器string小結

STL容器string基礎用法小結,stl容器string小結

編輯:C++入門知識

STL容器string基礎用法小結,stl容器string小結


//方法:append(), insert(), erase(),empty(), replace(),
//      find(), compare(), empty()
//算法:reverse()
#include <iostream>
#include <string>
#include <vector>          //string對象作為vector元素 
#include <sstream>         //istringstream ostringstream 
#include <algorithm>       //reverse()
using namespace std;
void showS(string s){
    cout<<s<<endl<<endl;
}

template <typename T>
string convertToString(T x){            //數值轉換為string對象 
    ostringstream o;
    o<<x;
    return o.str();          //Q:為什麼返回的是0.str()? 
}

template <typename T>
T convertFromString(const string& s){  //string對象轉換為數值 
    istringstream i(s);
    T x;
    i>>x;
    return x;
}
int main(){
    string s;
    s+="abc";
    cout<<s<<endl<<endl; //輸出 abc
    s.append("123");            //尾部追加 
    showS(s); //輸出 abc123
    cout<<s[2]<<endl;           //下標訪問 
    
    s.insert(s.begin()+1,'m');  //插入 
    showS(s); //輸出 ambc123
    cout<<s.length()<<endl;     //長度 7
    
    s.erase(s.begin()+2,s.begin()+4);   
                                //刪除 
    showS(s); //輸出 am123
    
    s="";                       //清空 
    cout<<s.empty()<<endl;      //是否為空 1
    //----------------------------------------------- 
    s="abc123456";
    showS(s); //輸出 abc123456
    s.replace(3,3,"good");                   //替換 
    showS(s); //輸出 abcgood456
    cout<<s.find("cg")<<endl  //輸出 2       //尋找 
        <<s.find("bb")<<endl; //輸出 4294967295
    
    cout<<s.compare("abcgo")<<endl           //比較,s大,1 
        <<s.compare("abcgood456")<<endl      //相等,0 
        <<s.compare("bbc")<<endl;            //s小,-1 
    
    reverse(s.begin(),s.begin()+3);          //使用reverse反向排序 
    showS(s); //輸出 cbagood123456
    
    string birth=convertToString(1997);      //數值轉換為string對象 
    showS(birth); //輸出1997
    
    string dd="7.18";
    double p=convertFromString<double>(dd);  //string對象轉換為數值 
    cout<<p<<endl; //輸出7.18
    //-----------------------------------------------
    vector<string> v;                        //string對象作為vector元素 
    v.push_back("Benz");
    v.push_back("Audi");
    v.push_back("BMW");
    
    cout<<v[0]<<' '<<v[1]<<' '<<v[2]<<endl; //輸出 Benz Audi BMW 
    cout<<v[0][0]<<' '<<v[1][1]<<endl; //輸出 B u
    cout<<v[2].length()<<endl; //輸出 3
    
    return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved