
문자열 스트림(string stream)
문자열 데이터를 처리하다보면 종종 구분 문자(delimiter)를 기준으로 문자열을 스플릿 하는 것이 필요할 때가 있는데, 여러 가지 방법이 있지만 문자열 스트림을 활용하면 간단하게 구현할 수 있다.
입력 문자열 스트림(istringstream) 개체와 getline() 함수(입력 스트림 헤더 istream에 포함)를 활용하여 구분 문자를 기준으로 문자열을 스플릿 하는 예시 코드는 아래와 같다.
#include <iostream> // 입출력 스트림 헤더
#include <sstream> // 문자열 스트림 헤더
#include <string>
int main()
{
string str;
cin >> str;
istringstream ss(str);
string buffer; // 스플릿한 문자열을 임시저장할 버퍼
while (getline(ss, buffer, ' ')) // '' <- 안의 *문자*를 기준으로 스플릿
{
cout << buffer << endl;
}
return 0;
}
* 해당 카테고리의 글은 Microsoft 공식 홈페이지의 기술 문서 페이지와 Stephan Prata의 저서 C++ 기초 플러스 (6판, 번역본) 서적 및 기타 구글링을 통한 정보 수집 등을 토대로 개인적으로 요약/정리해 본 글입니다. 만약 잘못 정리된 내용이 있다면, 댓글이나 이메일로 공유해주시면 수정하도록 하겠습니다.
'프로그래밍 공부 > C++ 프로그래밍' 카테고리의 다른 글
| [C++ 기초] STL priority_queue 템플릿 클래스 (0) | 2023.05.30 |
|---|---|
| [C++ 기초] 부동소수점 표기법(Floating-Point Arithmetic) (0) | 2023.05.23 |
| [C++ 기초] 표준 입출력 스트림(Stream)의 동기화 및 입출력 속도의 최적화 (0) | 2023.05.13 |
| [C++ 기초] 반복문(Loop Statement)과 스택 프레임(Stack Frame), 배열 형식과 STL 컨테이너 (0) | 2023.05.10 |
| [C++ 기초] 람다 표현식(Lambda Expression)과 클로저(Closure) (0) | 2023.05.10 |
댓글