'C++' std::sstream

토스트·2025년 4월 23일
0

'C++' basic

목록 보기
17/35

sstream

stream

다양한 타입의 데이터를 통합된 방식으로 다루며, 내부적으로는 문자열 버퍼나 바이트 버퍼로 자동 변환되기 때문에, 우리가 편하게 입·출력 할 수 있게 해주는 추상화 도구입니다.
c++에서의 표준 입력 스트림 객체는 cin이며, 표준 출력 스트림 객체는 cout입니다.

sstreamC++의 표준 라이브러리에서 제공하는 문자열 스트림 관련 클래스를 포함하는 헤더 파일로, 문자열과의 입·출력을 가능하게 해줍니다.
일반적인 파일이나 콘솔 입출력과 비슷한 방식으로 문자열을 다룰 수 있도록 도와줍니다.

  • istringstream : 문자열에서 데이터를 읽을 때 사용되는 스트림입니다. 주로 문자열을 파싱할 때 사용됩니다.
  • ostringstream : 데이터를 문자열로 출력할 때 사용되는 스트림입니다.
  • stringstream : 문자열을 읽고 쓸 수 있는 스트림입니다. cin, cout처럼 입력과 출력을 동시에 처리할 수 있습니다.

활용 1 : 문자열을 데이터로 변환

#include <sstream>
#include <iostream>

using namespace std;

int main() {
    string input = "123 456";
    istringstream iss(input);

    int a, b;
    iss >> a >> b;

    cout << a << " " << b << endl;

    return 0;
}

<결과값>

활용 2 : 데이터를 문자열로 변환

#include <sstream>
#include <iostream>

using namespace std;

int main() {
    int num = 42;
    ostringstream oss;

    oss << "The number is " << num;
    string result = oss.str(); // str() 함수는 oss에 저장된 문자열을 반환

    cout << result;

    return 0;
}

<결과값>

활용 3 : 복잡한 문자열 처리

#include <sstream>
#include <iostream>

using namespace std;

int main() {
    string data = "apple 42 banana 100 cherry 300";
    stringstream ss(data);
    string fruit;
    int quantity;

    while (ss >> fruit >> quantity) {
        cout << "Fruit : " << fruit << " | Quantity : " << quantity << endl;
    }

    return 0;
}

<결과값>

0개의 댓글