C++에서 두 문자열을 연결하는 방법
이 기사에서는 C++에서 두 문자열을 연결하는 방법에 대한 여러 방법을 보여줍니다.
+=
연산자를 사용하여 C++에서 두 문자열 연결
std::string
유형은 변경 가능하며 기본적으로=
및+=
연산자를 지원하며 후자는 내부 문자열 연결로 직접 변환됩니다. 이 연산자는 ‘문자열’유형 변수, 문자열 리터럴, C 스타일 문자열 또는 문자를 문자열 객체에 연결하는 데 사용할 수 있습니다. 다음 예제는 두 개의문자열 변수가 서로 추가되어 콘솔에 출력되는 것을 보여줍니다.
#include <iostream>
#include <string>
using std::copy;
using std::cout;
using std::endl;
using std::string;
int main() {
string string1("Starting string ");
string string2("end of the string ");
cout << "string1: " << string1 << endl;
string1 += string2;
cout << "string1: " << string1 << endl;
return EXIT_SUCCESS;
}
출력:
string1: Starting string
string1: Starting string end of the string
또는 두 개의 문자열 변수를 매개 변수로 취하고 연결 결과를 반환하는 맞춤 함수를 생성 할 수 있습니다. string
에는 이동 생성자가 있으므로 긴 문자열을 값으로 반환하는 것이 매우 효율적입니다. concTwoStrings
함수는string2
변수에 할당 된 새로운string
객체를 생성합니다.
#include <iostream>
#include <string>
using std::copy;
using std::cout;
using std::endl;
using std::string;
string concTwoStrings(const string& s1, const string& s2) { return s1 + s2; }
int main() {
string string1("Starting string ");
string string2 = concTwoStrings(string1, " conc two strings");
cout << "string2: " << string2 << endl;
return EXIT_SUCCESS;
}
출력:
string2: Starting string conc two strings
append()
메서드를 사용하여 C++에서 두 문자열 연결
append
는std::string
클래스의 내장 메소드입니다. 풍부한 기능을 제공하며, 모두 매뉴얼 페이지에서 살펴볼 수 있습니다. 이 경우이를 활용하여 리터럴 문자열 값을string
객체에 연결합니다.
#include <iostream>
#include <string>
using std::copy;
using std::cout;
using std::endl;
using std::string;
int main() {
string string("Temporary string");
string.append(" appended sequence");
cout << string << endl;
return EXIT_SUCCESS;
}
출력:
Temporary string appended sequence
append
메소드는this
객체에 대한 포인터를 반환하므로 여러 연결 함수를 호출하고string
변수에 여러 번 추가 할 수 있습니다. 이 메소드는append({ 'a', 'b', 'c', 'd'})
구문을 사용하여 이니셜 라이저 문자 목록을 추가 할 수도 있습니다.
#include <iostream>
#include <string>
using std::copy;
using std::cout;
using std::endl;
using std::string;
int main() {
string string1("Starting strings");
string string2("end of the string");
string1.append(" ").append(string2).append("\n");
cout << string1;
return EXIT_SUCCESS;
}
출력:
Starting string end of the string
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook