2015-01-20 4 views
0

전에는 istringstream을 사용한 적이 없습니다. 나는 단 하나의 구분 기호로 줄을 쪼개었기 때문에 istringstream을 사용하는 방법을 모른다. 5000beginner : 파일에서 읽고 istringstream을 사용하는 경우

내가 문자열을 분할 한 후 구조체의 배열을 만들 필요가, 거주 용, 원티드, 100

자동차

테이블 : I는 다음과 같이 파일에서 라인을 분할하고있다. 구조체를 이미 설정 했으므로 문자열을 분할하는 방법을 모르겠습니다. 내 구조체 항목이라고하고 형식이 있습니다 : 문자열 형식, bool 판매, 두 배 가격. 판매를 원한다면 판매용이면 1, 원한다면 0을 말하고 싶습니다. 기본적으로 새 변수, 유형, 판매 및 가격을 생성 한 다음 해당 항목의 struct에 newItem {type, sale, price}을 만들고 거기에서부터 이동할 수 있도록 분할하려고합니다. 코드 예제는 매우 유용합니다. 정말 고마워.

+3

먼저 최선을 다할 수 있습니까? 우리가 시도하기 전에? 그거야, 맞지? –

+0

CSV 파일을 구문 분석하고 싶습니다. 여기에서하는 방법에 대한 많은 정보 : http://stackoverflow.com/questions/1120140/how-can-i-read-and-parse-csv-files-in-c/ –

답변

1

구분 기호 문자를 사용하여 문자열을 분할하는 간단한 방법은 std::getline을 사용하는 것입니다.

std::string line = "Table, Wanted, 100"; // Let's say you have read a line from file. 
std::istringstream input{line};   // Create an input stream from string. 

// Read all characters up until the delimiter ',' on each iteration. 
for (std::string token; std::getline(input, token, ',');) { 
    /* Do something with each token... */ 
} 

Live example

관련 문제