반응형

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

반응형
복사했습니다!