CS/C++

C++ <sstream> - getline과 stringstream 문자열 분리

싹난 감자 2024. 10. 25. 18:37

문자열에서 필요한 자료형에 맞는 데이터를 꺼내기

 

문자열을 입력받고 공백을 기준으로 단어 개수를 세는 코드

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main() {
    string s, word;
    int num = 0;
    
    getline(cin, s); // 공백을 포함하여 문자열 입력받기

    stringstream ss(s); // 입력받은 문자열을 sringstream으로 변환
    
    while (ss >> word) { // ss에서 공백 또는 개행문자를 기준으로 string타입으로 데이터 나눠 꺼내기
        num++;
        // 꺼내진 데이터를 vector에 저장할 수 있음
    }
    
    // getline(ss, word, 's')와 같이 나눌 기준이 될 문자를 정해줄 수 있음 

    cout << num; // 꺼낸 데이터 수

    return 0;
}

'CS > C++' 카테고리의 다른 글

C++ <algorithm> - vector의 최대값, 최소값 구하기  (0) 2024.10.25