basic_string::replace
指定した文字で指定した位置にある文字列内の要素またはそのほかの文字範囲から、文字列または C 文字列コピーします。
basic_string<CharType, Traits, Allocator>& replace(
size_type _Pos1,
size_type _Num1,
const value_type* _Ptr
);
basic_string<CharType, Traits, Allocator>& replace(
size_type _Pos1,
size_type _Num1,
const basic_string<CharType, Traits, Allocator>& _Str
);
basic_string<CharType, Traits, Allocator>& replace(
size_type _Pos1,
size_type _Num1,
const value_type* _Ptr,
size_type _Num2
);
basic_string<CharType, Traits, Allocator>& replace(
size_type _Pos1,
size_type _Num1,
const basic_string<CharType, Traits, Allocator>& _Str,
size_type _Pos2,
size_type _Num2
);
basic_string<CharType, Traits, Allocator>& replace(
size_type _Pos1,
size_type _Num1,
size_type _Count,
value_type _Ch
);
basic_string<CharType, Traits, Allocator>& replace(
iterator _First0,
iterator _Last0,
const value_type* _Ptr
);
basic_string<CharType, Traits, Allocator>& replace(
iterator _First0,
iterator _Last0,
const basic_string<CharType, Traits, Allocator>& _Str
);
basic_string<CharType, Traits, Allocator>& replace(
iterator _First0,
iterator _Last0,
const value_type* _Ptr,
size_type _Num2
);
basic_string<CharType, Traits, Allocator>& replace(
iterator _First0,
iterator _Last0,
size_type _Num2,
value_type _Ch
);
template<class InputIterator>
basic_string<CharType, Traits, Allocator>& replace(
iterator _First0,
iterator _Last0,
InputIterator _First,
InputIterator _Last
);
basic_string<CharType, Traits, Allocator>& replace(
iterator _First0,
iterator _Last0,
const_pointer _First,
const_pointer _Last
);
basic_string<CharType, Traits, Allocator>& replace(
iterator _First0,
iterator _Last0,
const_iterator _First,
const_iterator _Last
);
パラメーター
_Str
The string これにより、オペランドの文字列の文字のソースであることです。_Pos1
置換が開始されるオペランドの文字列のインデックス。_Num1
オペランドの文字列で置換される最大文字数。_Pos2
パラメーター文字列のコピーで始まるインデックス。_Num2
パラメーターの C 文字列から取得する文字の最大数。_Ptr
オペランドの文字列の文字のソースであることな C 文字列。_Ch
オペランドの文字列にコピーする文字。_First0
オペランドの文字列で削除する最初の文字を指定する反復子。_Last0
オペランドの文字列で削除する最後の文字を指定する反復子。_First
パラメーター文字列にコピーする最初の文字を指定する反復子 const_pointer、または const_iterator。_Last
パラメーター文字列にコピーする最後の文字を指定する反復子 const_pointer、または const_iterator。_Count
_Ch 回数はオペランドの文字列にコピーされます。
戻り値
実行されるオペランドの置換が適用された文字列。
使用例
// basic_string_replace.cpp
// compile with: /EHsc
#include <string>
#include <iostream>
int main( )
{
using namespace std;
// The first two member functions replace
// part of the operand string with
// characters from a parameter string or C-string
string result1a, result1b;
string s1o ( "AAAAAAAA" );
string s1p ( "BBB" );
const char* cs1p = "CCC";
cout << "The operand string s1o is: " << s1o << endl;
cout << "The parameter string s1p is: " << s1p << endl;
cout << "The parameter C-string cs1p is: " << cs1p << endl;
result1a = s1o.replace ( 1 , 3 , s1p );
cout << "The result of s1o.replace ( 1 , 3 , s1p )\n is "
<< "the string: " << result1a << "." << endl;
result1b = s1o.replace ( 5 , 3 , cs1p );
cout << "The result of s1o.replace ( 5 , 3 , cs1p )\n is "
<< "the string: " << result1b << "." << endl;
cout << endl;
// The third & fourth member function replace
// part of the operand string with characters
// form part of a parameter string or C-string
string result2a, result2b;
string s2o ( "AAAAAAAA" );
string s2p ( "BBB" );
const char* cs2p = "CCC";
cout << "The operand string s2o is: " << s2o << endl;
cout << "The parameter string s1p is: " << s2p << endl;
cout << "The parameter C-string cs2p is: " << cs2p << endl;
result2a = s2o.replace ( 1 , 3 , s2p , 1 , 2 );
cout << "The result of s2o.replace (1, 3, s2p, 1, 2)\n is "
<< "the string: " << result2a << "." << endl;
result2b = s2o.replace ( 4 , 3 , cs2p , 1 );
cout << "The result of s2o.replace (4 ,3 ,cs2p)\n is "
<< "the string: " << result2b << "." << endl;
cout << endl;
// The fifth member function replaces
// part of the operand string with characters
string result3a;
string s3o ( "AAAAAAAA" );
char ch3p = 'C';
cout << "The operand string s3o is: " << s3o << endl;
cout << "The parameter character c1p is: " << ch3p << endl;
result3a = s3o.replace ( 1 , 3 , 4 , ch3p );
cout << "The result of s3o.replace(1, 3, 4, ch3p)\n is "
<< "the string: " << result3a << "." << endl;
cout << endl;
// The sixth & seventh member functions replace
// part of the operand string, delineated with iterators,
// with a parameter string or C-string
string s4o ( "AAAAAAAA" );
string s4p ( "BBB" );
const char* cs4p = "CCC";
cout << "The operand string s4o is: " << s4o << endl;
cout << "The parameter string s4p is: " << s4p << endl;
cout << "The parameter C-string cs4p is: " << cs4p << endl;
basic_string<char>::iterator IterF0, IterL0;
IterF0 = s4o.begin ( );
IterL0 = s4o.begin ( ) + 3;
string result4a, result4b;
result4a = s4o.replace ( IterF0 , IterL0 , s4p );
cout << "The result of s1o.replace (IterF0, IterL0, s4p)\n is "
<< "the string: " << result4a << "." << endl;
result4b = s4o.replace ( IterF0 , IterL0 , cs4p );
cout << "The result of s4o.replace (IterF0, IterL0, cs4p)\n is "
<< "the string: " << result4b << "." << endl;
cout << endl;
// The 8th member function replaces
// part of the operand string delineated with iterators
// with a number of characters from a parameter C-string
string s5o ( "AAAAAAAF" );
const char* cs5p = "CCCBB";
cout << "The operand string s5o is: " << s5o << endl;
cout << "The parameter C-string cs5p is: " << cs5p << endl;
basic_string<char>::iterator IterF1, IterL1;
IterF1 = s5o.begin ( );
IterL1 = s5o.begin ( ) + 4;
string result5a;
result5a = s5o.replace ( IterF1 , IterL1 , cs5p , 4 );
cout << "The result of s5o.replace (IterF1, IterL1, cs4p ,4)\n is "
<< "the string: " << result5a << "." << endl;
cout << endl;
// The 9th member function replaces
// part of the operand string delineated with iterators
// with specified characters
string s6o ( "AAAAAAAG" );
char ch6p = 'q';
cout << "The operand string s6o is: " << s6o << endl;
cout << "The parameter character ch6p is: " << ch6p << endl;
basic_string<char>::iterator IterF2, IterL2;
IterF2 = s6o.begin ( );
IterL2 = s6o.begin ( ) + 3;
string result6a;
result6a = s6o.replace ( IterF2 , IterL2 , 4 , ch6p );
cout << "The result of s6o.replace (IterF1, IterL1, 4, ch6p)\n is "
<< "the string: " << result6a << "." << endl;
cout << endl;
// The 10th member function replaces
// part of the operand string delineated with iterators
// with part of a parameter string delineated with iterators
string s7o ( "OOOOOOO" );
string s7p ( "PPPP" );
cout << "The operand string s7o is: " << s7o << endl;
cout << "The parameter string s7p is: " << s7p << endl;
basic_string<char>::iterator IterF3, IterL3, IterF4, IterL4;
IterF3 = s7o.begin ( ) + 1;
IterL3 = s7o.begin ( ) + 3;
IterF4 = s7p.begin ( );
IterL4 = s7p.begin ( ) + 2;
string result7a;
result7a = s7o.replace ( IterF3 , IterL3 , IterF4 , IterL4 );
cout << "The result of s7o.replace (IterF3 ,IterL3 ,IterF4 ,IterL4)\n is "
<< "the string: " << result7a << "." << endl;
cout << endl;
}
必要条件
ヘッダー: <string>
名前空間: std