C++에서 문자열 문자 변경하는 방법은 무엇인가요?
C++에서 문자열의 문자를 변경하는 방법은 다음과 같습니다.
1. 인덱스를 사용하여 문자 변경하기
문자열의 특정 인덱스에 접근하여 해당 위치의 문자를 변경할 수 있습니다. 예를 들어, 다음과 같은 코드는 문자열의 첫 번째 문자를 'H'에서 'J'로 변경합니다.
#include <iostream>
#include <string>
int main() {
std::string str = "Hello";
str[0] = 'J';
std::cout << str << std::endl; // "Jello"
return 0;
}
2. replace() 함수 사용하기
std::string
클래스는 replace()
함수를 제공합니다. 이 함수를 사용하여 문자열의 일부분을 다른 문자열로 대체할 수 있습니다. 예를 들어, 다음과 같은 코드는 문자열의 첫 번째 문자를 'H'에서 'J'로 변경합니다.
#include <iostream>
#include <string>
int main() {
std::string str = "Hello";
str.replace(0, 1, "J");
std::cout << str << std::endl; // "Jello"
return 0;
}
위의 코드에서 replace()
함수의 첫 번째 인자는 대체를 시작할 인덱스이고, 두 번째 인자는 대체할 문자의 개수입니다. 세 번째 인자는 대체할 문자열입니다.
3. stringstream 클래스 사용하기
std::stringstream
클래스를 사용하여 문자열을 스트림으로 변환한 다음, 스트림에서 문자를 변경할 수 있습니다. 예를 들어, 다음과 같은 코드는 문자열의 첫 번째 문자를 'H'에서 'J'로 변경합니다.
#include <iostream>
#include <string>
#include <sstream>
int main() {
std::string str = "Hello";
std::stringstream ss(str);
char c;
ss >> c;
c = 'J';
ss.seekp(0);
ss << c;
str = ss.str();
std::cout << str << std::endl; // "Jello"
return 0;
}
위의 코드에서 stringstream
클래스를 사용하여 문자열을 스트림으로 변환합니다. 그런 다음, >>
연산자를 사용하여 첫 번째 문자를 읽어옵니다. 이제 문자를 변경하고, seekp()
함수를 사용하여 스트림의 위치를 처음으로 이동시킵니다. 마지막으로, <<
연산자를 사용하여 변경된 문자를 스트림에 쓰고, str()
함수를 사용하여 스트림을 문자열로 변환합니다.