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() 함수를 사용하여 스트림을 문자열로 변환합니다.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.