1
문자열의 형식이 istringstream 인 객체가 있습니다. STRING,INT,INT,INT
예 : "name, 20,30,40" std : string 및 int와 같은 특정 유형의 변수에 값을 읽으 려합니다. 어떻게하면됩니까?C++ : stringstream에서 읽기
문자열의 형식이 istringstream 인 객체가 있습니다. STRING,INT,INT,INT
예 : "name, 20,30,40" std : string 및 int와 같은 특정 유형의 변수에 값을 읽으 려합니다. 어떻게하면됩니까?C++ : stringstream에서 읽기
게으른 방법 :
getline(stream, str, ',');
char c;
stream >> i1 >> c >> i2 >> c >> i3;
가 어떤 합리적인 방법으로 형식 오류를 처리하지 못하기 때문에 그것은 "게으른"입니다.
더 똑똑한 방법은 쉼표로 분리하여 문자열 벡터 (필요에 따라 정수로 변환 할 수 있음)로 만들거나 boost.spirit와 같은 본격적인 구문 분석기를 사용합니다.
이 오류를 쉽게 처리 할 수 있습니다.'char c; 스트림 (Stream), 스트림 (Stream) >> i2 >> c && c == ','&& stream >> i3) .. if (getline (stream, str, ',') . –
@ 토니 실제로, 그 오류 처리를 해결합니다. – Cubbi