'C++' std::insert

토스트·2025년 4월 26일

'C++' std::string

목록 보기
5/12

insert

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;
}

결과

0개의 댓글