1. 문자열 삽입
string& insert(size_t pos, const string& str);
: pos 위치로 지정된 문자 바로 앞에 str의 복사본을 삽입합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string str1 = "oa";
string str2 = "tst";
str2.insert(1, str1);
cout << str2;
return 0;
}
결과
2. 부분 문자열 삽입
string& insert(size_t pos, const string& str, size_t subpos, size_t sublen = npos);
// npos 설정은 버전에 따라 다릅니다. sublen을 무조건 지정해야 할 수도 있습니다.
: pos 위치로 지정된 문자 바로 앞에 str의 subpos에서 시작하여 sublen개의 문자까지 복사하여 삽입합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string str1 = "cocoa";
string str2 = "tst";
str2.insert(1, str1, 3, 2);
cout << str2;
return 0;
}
결과
3. C-style 문자열 삽입
string& insert(size_t pos, const char* s);
: pos 위치로 지정된 문자 바로 앞에 C-style 문자열인 s를 복사하여 string 객체로 변환하여 삽입합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
const char * s = "delicious ";
string str = "toast";
str.insert(0, s);
cout << str;
return 0;
}
결과
4. C-style 부분 문자열 삽입
string& insert(size_t pos, const char* s, size_t n);
: pos 위치로 지정된 문자 바로 앞에 C-style 문자열인 s의 처음부터 n개의 문자까지 복사하여 string 객체로 변환하여 삽입합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
const char * s = "oasis";
string str = "tst";
str.insert(1, s, 2);
cout << str;
return 0;
}
결과
5. 채우기 삽입
string& insert(size_t pos, size_t n, char c);
iterator insert(const_iterator p, size_t n, char c);
: pos(p) 위치 앞에 n개의 문자 c를 삽입합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string str = "toast";
str.insert(5, 2, '!');
cout << str << endl;
str.insert(str.end(), 1, '?');
cout << str;
return 0;
}
결과
6. 단일 문자 삽입
string& insert(const_iterator p, char c);
: p 위치 앞에 문자 c를 삽입합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string str = "tost";
str.insert(str.begin() + 2, 'a');
cout << str;
return 0;
}
결과
7. 범위 삽입
template <class InputIterator>
iterator insert(iterator p, InputIterator first, InputIterator last);
: p 위치 앞에 first부터 last 범위 내의 문자를 동일한 순서로 복사하여 삽입합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string str1 = "ackened to you";
string str2 = "blast";
str2.insert(str2.begin() + 2, str1.begin(), str1.end() - 4);
cout << str2;
return 0;
}
결과
8. 초기화 목록 삽입
string& insert(const_iterator p, initializer_list<char> il);
: p 위치 앞에 il의 각 문자를 동일한 순서로 복사하여 삽입합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string str = "est";
str.insert(str.begin() + 1, { 'g', 'g', ' ', 't', 'o', 'a' });
cout << str;
return 0;
}
결과
