반응형
1. 구분자(delimiter)를 이용한 파싱 처리란?
가장 대표적인 예는 엑셀의 .csv 파일이다.
.csv 파일은 ',' 기호로 셀을 나누고 있는데, 다음과 같은 모양을 갖추고 있다.
서울특별시,인천광역시,부산광역시
위의 .csv 파일을 ',' 구분자로 구분하면 다음 3개의 항목을 얻을 수 있는 것이다.
(1) 서울특별시
(2) 인천광역시
(3) 부산광역시
이와 같이 특정한 구분자를 사용해서 string을 파싱하는 경우가 종종 있는데,
이 때 사용하는 것이 stringstream 객체와 getline 함수이다.
2. 코드 (내용 추가 예정)
#include <iostream>
#include <string>
#include <sstream>
int main(void)
{
string s = "seoul,busan,incheon";
stringstream ss(s);
string token;
while(getline(ss, token, ','))
{
cout << token << '\n';
}
return 0;
}
위 코드를 실행하면 다음과 같은 출력을 얻을 수 있다.
seoul
busan
incheon
반응형
'Programming > C│C++' 카테고리의 다른 글
[C/C++] 배열 크기가 커서 강제종료된다면? (0) | 2020.08.02 |
---|---|
[C++/STL] 정렬 (sort) 함수 사용하기 (1) | 2020.07.19 |
[C++/STL] 다차원 Vector 복사하기 (0) | 2020.04.16 |
[C++] C++로 eof 처리하기 (cin.eof() 사용법) (0) | 2019.12.07 |
[C++/STL] 우선순위 큐 (Priority Queue) 사용법 (0) | 2019.12.04 |