青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Shuffy

不斷的學習,不斷的思考,才能不斷的進步.Let's do better together!
posts - 102, comments - 43, trackbacks - 0, articles - 19

c++中的string常用函數用法

Posted on 2008-01-20 14:02 Shuffy 閱讀(7776) 評論(1)  編輯 收藏 引用 所屬分類: VC++/C/C++/C#瀏覽集合

【轉】http://blog.programfan.com/blog.asp?blogid=2797&columnid=3755
basic_string::append

      向string 的后面加字符或字符串。(比+=, push_back 更靈活)

(1)向string 的后面加C-string

basic_string& append( const value_type* _Ptr );

string s ( "Hello " ); // s=”Hello ”

const char *c = "Out There ";

s.append ( c ); // s=”Hello Out There”

(2)向string 的后面加C-string 的一部分

basic_string& append( const value_type* _Ptr, size_type _Count );

string s ( "Hello " ); // s=”Hello ”

const char *c = "Out There ";

s.append ( c , 3 ); // s=”Hello Out”

(3)向string 的后面加string(有兩種方法)

basic_string& append( const basic_string& _Str );

string s1 ( "Hello " ), s2 ( "Wide " ), s3( "World " );

s1.append ( s2 ); // s1=”Hello Wide”

s1 += s3; // s1=”Hello Wide World”

(4)向string 的后面加string 的一部分 ---A

basic_string& append( const basic_string& _Str, size_type _Off,

size_type _Count );

string s1 ( "Hello " ), s2 ( "Wide World " );

s1.append ( s2 , 5 , 5 ); // s1=”Hello World”

(5)向string 的后面加string 的一部分 ---B

template<class InputIterator> basic_string& append(

InputIterator _First, InputIterator _Last );

string str1f ( "Hello " ), str2f ( "Wide World" );

str1f.append ( str2f.begin ( ) + 5 , str2f.end ( ) );

// s1=”Hello World”

(6)向string 的后面加多個字符

basic_string& append( size_type _Count, value_type _Ch );

string str1e ( "Hello " );

str1e.append ( 4 , '!' ); // s1=”Hello !!!!”

basic_string::assign

給string 賦值。 (比“=”更靈活)

(1)向string 賦C-string

basic_string& assign( const value_type* _Ptr );

string s;

const char *c = "Out There";

s.assign ( c ); // s=”Out There”

(2)向string 賦C-string 的一部分

basic_string& assign( const value_type* _Ptr, size_type _Count );

string s;

const char *c = "Out There";

s.assign ( c , 3 ); // s=”Out”

(3)向string 賦string(有兩種方法)

basic_string& assign( const basic_string& _Str );

string s1 ( "Hello" ), s2 ( "Wide" ), s3( "World" );

s1.assign ( s2 ); // s1=”Wide”

s1 = s3; // s1=”World”

(4)向string 賦string 的一部分 ---A

basic_string& assign( const basic_string& _Str, size_type off,

size_type _Count );

string s1 ( "Hello " ), s2 ( "Wide World " );

s1.assign ( s2 , 5 , 5 ); // s1=”World”

(5)向string 賦string 的一部分 ---B

template<class InIt> basic_string& assign(

InputIterator _First,

InputIterator _Last );

string str1f ( "Hello " ), str2f ( "Wide World" );

str1f.assign ( str2f.begin ( ) + 5 , str2f.end ( ) ); // str1f=”World”

(6)向string 賦 多個字符

basic_string& assign( size_type _Count, value_type _Ch );

string str1e ( "Hello " );

str1e.assign ( 4 , '!' ); // s1=”!!!!”

basic_string::compare

如果所比較的兩個string 相等,則返回0; 操作string 大于參數string,返回

正數;操作string 小于參數string,返回負數。

(1)比較操作string 與_Str 或C-string_Ptr

int compare( const basic_string& _Str ) const;

int compare( const value_type* _Ptr ) const;

int com = s.compare ( sp );

(2)比較操作string 中_Pos1(下標)開始的_Num1 個字符 與 string_Str

比較操作string 中_Pos1(下標)開始的_Num1 個字符 與 C-string _Ptr

比較操作string 中Pos1(下標)開始的Num1 個字符 與Str 中Off(下標)開始Count 個字

int compare( size_type _Pos1, size_type _Num1, const basic_string& _Str );

int compare( size_type _Pos1, size_type _Num1, const value_type* _Ptr ) const;

int compare( size_type _Pos1, size_type _Num1, const basic_string& _Str,

size_type _Off, size_type _Count );

int com1 = s.compare ( 2 , 3 , sp );

int com2 = s.compare ( 2 , 3 , c );

int com3 = s.compare ( 1 , 3 , cs , 3 ,1 );

basic_string::erase

刪除string 中的一個或幾個元素。前兩個成員函數,返回要被刪除的子串的下

一個元素的iterator; 第三個函數,返回刪除后的string 的引用。

(1)刪除string 中從_First 到_Last 的字符

iterator erase( iterator _First, iterator _Last );

basic_string <char>::iterator s_Iter;

s_Iter = s.erase ( s.begin ( ) + 3 , s.end ( ) - 1 ); // s_Iter=s.end( )

(2) 刪除string 中_It 所指的字符

iterator erase( iterator _It );

s_Iter = s.erase ( s.begin ( ) + 5 );

(3) 刪除string 中從_Pos(下標)開始的_Count 個字符

basic_string& erase( size_type _Pos = 0, size_type _Count = npos );

str = s.erase ( 6 , 8 ); // str 也是string

basic_string::find

尋找給定的string。返回找到的第一個string 下標值;如果沒找到則返回npos。

(1)找一個character_Ch。(默認從頭找)

size_type find( value_type _Ch, size_type _Off = 0 ) const;

string s ( "Hello Everyone" );

basic_string <char>::size_type index1, index2;

static const basic_string <char>::size_type npos = -1;

index1 = s.find ( "e" , 3 ); // index1=8,不是6

index2 = s.find ( "x" ); // index2=-1

if (indexCh1a != npos ) cout <<indexCh1a << endl;

else cout << "The character 'e' was not found in str1 ." << endl;

(2)找一個C-string。(默認從頭找)

size_type find( const value_type* _Ptr, size_type _Off = 0 ) const;

string s ( "Let me make this perfectly clear." );

basic_string <char>::size_type index;

const char *c = "perfect";

index = s.find ( c , 5 ); // index=17

(3)找一個string。(默認從頭找)

size_type find( const basic_string& _Str, size_type _Off = 0 ) const;

string s ( "clearly this perfectly unclear." );

basic_string <char>::size_type index;

string sta ( "clear" );

index = s.find ( sta , 5 ); // index=24

basic_string::max_size

返回string 能放的最大元素個數。(不同于capacity)

size_type max_size( ) const;

basic_string <char>::size_type cap, max;

cap = s.capacity ( );

max = s.max_size ( ); // max=4294967294.

basic_string::rfind

尋找給定的string。返回找到的第一個string 下標值;如果沒找到則返回npos。

與find 不同的是:rfind 默認從npos 開始找。其他相同。

basic_string::replace

將原string 中的元素或子串替換。返回替換后的string。

(1)用string 或C-string 代替操作string 中從_Pos1 開始的_Num1 個字符

basic_string& replace( size_type _Pos1,size_type _Num1, const value_type* _Ptr);

basic_string& replace(size_type _Pos1,size_type _Num1,const basic_string_Str);

string a,b;

string s ( "AAAAAAAA" );

string s1p ( "BBB" );

const char* cs1p = "CCC";

a = s.replace ( 1 , 3 , s1p ); // s=”ABBBAAAA”

b = s.replace ( 5 , 3 , cs1p ); // s=”ABBBACCC”

(2)用string 中從_Pos2 開始的_Num2 個字符,代替操作string 中從_Pos1 開始的_Num1 個字符

用C-string 中的_Num2 個字符,代替操作string 中從_Pos1 開始的_Num1 個字符

basic_string& replace( size_type _Pos1, size_type _Num1, const basic_string& _Str,

size_type _Pos2, size_type );

basic_string& replace( size_type _Pos1, size_type _Num1,

const value_type* _Ptr, size_type _Num2 );

string a, b;

string s ( "AAAAAAAA" );

string s2p ( "BBB" );

const char* cs2p = "CCC";

a = s.replace ( 1 , 3 , s2p , 1 , 2 ); // s=”ABBAAAA”

b = s.replace ( 4 , 3 , cs2p , 1 ); // s=”ABBAC”

(3)用_Count 個character_Ch ,代替操作string 中從_Pos1 開始的_Num1 個字符

basic_string& replace( size_type _Pos1, size_type _Num1,

size_type_Count, value_type_Ch );

string result;

string s ( "AAAAAAAA" );

char ch = 'C';

result = s.replace ( 1 , 3 , 4 , ch ); // s=”ACCCCAAAA”

(4)用string 或C-string ,代替操作string 中從First0 到Last0 的字符

basic_string&replace(iterator First0,iterator Last0, const basic_string& _Str);

basic_string&replace(iterator First0,iterator _Last0, const value_type* _Ptr);

string s ( "AAAAAAAA" ); string s4p ( "BBB" );

const char* cs4p = "CCC";

basic_string<char>::iterator IterF0, IterL0;

IterF0 = s.begin ( ); IterL0 = s.begin ( ) + 3;

string a, b;

a = s.replace ( IterF0 , IterL0 , s4p ); // s=”BBBAAAAA”

b = s.replace ( IterF0 , IterL0 , cs4p ); // s=”CCCAAAAA”

(5)用string 中從_Pos2 開始的_Num2 個字符,代替操作string 中從First0 到Last0 的字符

用C-string 中的_Num2 個字符,代替操作string 中從First0 到Last0 的字符

basic_string& replace( iterator _First0, iterator _Last0,

const value_type* _Ptr, size_type _Num2 );

template<class InputIterator> basic_string& replace(

iterator _First0, iterator _Last0,

InputIterator _First, InputIterator _Last );

IterF3 = s.begin ( ) + 1; IterL3 = s.begin ( ) + 3;

IterF4 = s.begin ( ); IterL4 = s.begin ( ) + 2;

a = s.replace ( IterF3 , IterL3 , IterF4 , IterL4 );

b = s.replace ( IterF1 , IterL1 , cs5p , 4 );

(6)用_Count 個character_Ch ,代替操作string 中從First0 到Last0 的字符

basic_string& replace( iterator _First0, iterator _Last0,

size_type _Count , value_type _Ch );

a = s.replace ( IterF2 , IterL2 , 4 , ch );

basic_string::swap

交換兩個string。

void swap( basic_string& _Str );

s1.swap ( s2 );

basic_string::substr

返回從_Off(下標)開始的_Count 個字符組成的string

basic_string substr( size_type _Off = 0, size_type _Count = npos ) const;

string s("I love you!"), sub;

sub=s.substr( ); // sub=”I love you!”

sub=s.substr(1); // sub=” love you!”

sub=s.substr(3,4); // sub=”ove ”

Feedback

# re: c++中的string常用函數用法  回復  更多評論   

2008-06-27 11:25 by 分析字符串:保留有效數字
分析字符串:保留有效數字分析字符串:保留有效數字分析字符串:保留有效數字
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99精品99| 亚洲性夜色噜噜噜7777| 久久久久久久久久看片| 亚洲欧美日韩国产综合| 国产一区二区久久精品| 老鸭窝毛片一区二区三区| 久久综合给合| 亚洲视频免费观看| 午夜精品福利在线| 怡红院精品视频在线观看极品| 国产亚洲一级| 美女诱惑一区| 欧美另类在线观看| 欧美资源在线观看| 久久精品中文字幕免费mv| 亚洲精品乱码久久久久久按摩观| 亚洲欧美日韩国产中文| 欧美在线www| 亚洲最黄网站| 久久精品成人| 日韩亚洲一区二区| 亚洲欧美综合精品久久成人| 亚洲人成网站777色婷婷| 亚洲免费成人| 黄色成人av在线| 99精品视频免费观看| 国内自拍亚洲| 在线视频你懂得一区| 一区二区在线不卡| 亚洲无线一线二线三线区别av| 牛牛国产精品| 欧美一区网站| 欧美激情一区二区三区在线视频观看 | 欧美日韩中文字幕综合视频| 欧美在线视频播放| 麻豆精品视频| 欧美影院午夜播放| 欧美日韩国产一区二区三区地区| 激情欧美日韩一区| 亚洲一区二区免费在线| 亚洲精品国产日韩| 久久精品中文字幕一区二区三区| 国产伦理精品不卡| 亚洲人体大胆视频| 国产一本一道久久香蕉| 亚洲精一区二区三区| 在线观看日韩av先锋影音电影院| 久久全球大尺度高清视频| 国产精品久久久久久久9999| 最近看过的日韩成人| 亚洲国产另类精品专区| 国模大胆一区二区三区| 亚洲影视在线| 午夜精品999| 欧美日韩一区二区三区在线| 牛人盗摄一区二区三区视频| 国产农村妇女精品一二区| 一本久久精品一区二区| 在线中文字幕不卡| 欧美国产精品劲爆| 亚洲高清不卡在线观看| 亚洲黄网站在线观看| 久久色在线播放| 美女诱惑一区| 亚洲黄色在线看| 欧美成人四级电影| 亚洲人成在线观看| 中文国产成人精品久久一| 欧美日韩妖精视频| 一本色道久久综合亚洲精品高清| 国产精品狼人久久影院观看方式| 性色av一区二区三区在线观看| 午夜精品一区二区三区四区| 欧美一区二区三区视频免费| 国产精品自拍三区| 欧美制服丝袜| 欧美激情1区2区3区| 亚洲精品偷拍| 欧美日韩一区二区三区| 亚洲一区二区三区高清| 欧美亚洲在线视频| 韩日精品中文字幕| 麻豆精品视频在线观看| 91久久精品国产| 亚洲欧美日韩精品| 黄色亚洲网站| 欧美日韩成人在线| 亚洲欧美日韩综合aⅴ视频| 久久综合一区二区| 99这里有精品| 国产亚洲精品v| 嫩模写真一区二区三区三州| 日韩视频三区| 久久精品九九| aa级大片欧美| 国产一区二区| 欧美日韩福利在线观看| 香蕉久久一区二区不卡无毒影院| 亚洲免费电影在线观看| 国产精品性做久久久久久| 久久人人爽国产| 一本久久精品一区二区| 巨乳诱惑日韩免费av| 亚洲午夜精品| 樱桃国产成人精品视频| 欧美极品欧美精品欧美视频| 香蕉av777xxx色综合一区| 欧美激情欧美激情在线五月| 欧美在线啊v一区| 日韩写真在线| 亚洲国产精品久久久久| 国产精品手机视频| 欧美精品系列| 久久免费视频在线| 亚洲欧美日产图| 亚洲精品欧美激情| 美女主播一区| 久久九九国产精品| 亚洲欧美一区二区精品久久久| 欧美日韩三级在线| 美女视频黄a大片欧美| 欧美一区激情视频在线观看| 中日韩美女免费视频网址在线观看| 亚洲精品国产欧美| 国产亚洲一区二区三区| 国产精品国色综合久久| 欧美激情综合网| 麻豆久久婷婷| 久久精品日韩| 欧美在线免费视屏| 午夜欧美精品| 亚洲午夜性刺激影院| 99人久久精品视频最新地址| 亚洲欧洲美洲综合色网| 亚洲国产欧美另类丝袜| 欧美华人在线视频| 欧美成人日韩| 欧美黄污视频| 亚洲激情成人网| 亚洲精品久久7777| 亚洲美女av在线播放| 日韩午夜av| 亚洲精品社区| 中文无字幕一区二区三区| 亚洲视频电影在线| 亚洲一区二区在线播放| 亚洲伊人伊色伊影伊综合网| 亚洲欧美一区二区视频| 亚洲欧美一区二区三区极速播放| 你懂的视频一区二区| 欧美va天堂在线| 美日韩丰满少妇在线观看| 欧美肥婆在线| 亚洲人成在线播放| 一区二区三区日韩在线观看| 亚洲欧美日韩一区二区| 久久国产精品亚洲77777| 久久天天综合| 欧美日本国产精品| 国产精品一区久久久| 合欧美一区二区三区| 亚洲人成人一区二区在线观看| 国产精品综合久久久| 国产毛片一区| 尤物网精品视频| 日韩一级网站| 欧美影院久久久| 欧美国产精品中文字幕| 亚洲美女av在线播放| 亚久久调教视频| 久久综合伊人| 国产精品视频免费| 在线观看亚洲精品视频| 99热在这里有精品免费| 欧美在线日韩| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品99久久久久久久久 | 西瓜成人精品人成网站| 欧美亚洲视频在线看网址| 免播放器亚洲一区| 国产精品免费在线| 一色屋精品视频在线观看网站| 国产精品日韩二区| 亚洲国产精品成人久久综合一区| 国产精品久久久久久久浪潮网站| 老牛嫩草一区二区三区日本| 欧美日韩直播| 亚洲国产成人精品视频| 香蕉成人伊视频在线观看| 欧美成人精品福利| 亚洲视频观看| 欧美成在线视频| 黄色日韩精品| 欧美一区二区三区在| 亚洲精品午夜精品| 浪潮色综合久久天堂| 国产亚洲精品成人av久久ww| 亚洲一区在线观看视频 | 99精品久久| 欧美xx69|