텍스트 문서에서 이름, 공백 및 십진수 값으로 작성된 정보를 읽는 것으로 가정합니다. 예를 들어, 파일에서 라인이있을 수 있습니다입력 유효성 검사?
타이거 56.3
내가 그 첫 번째 부분을 확인하기 만하면 소수점을 포함한 숫자 만 포함 된 문자와 두 번째 부분을 포함하는 문자열입니다. 지금까지 다음 기본 코드가 있습니다 :
ifstream input("data.txt");
while(!input.eof())
{
string name;
double score;
input >> name;
input >> score;
}
어떻게해야합니까?
일반적인 방법은 파일을 텍스트 (한 번에 한 줄씩)로 읽은 다음 수동으로 토큰 화하고 렉싱하는 것입니다. C++ 'istream'포맷터는 강력한 입력 검증에 실제로 적합하지 않습니다. – Mankarse
간단합니다. 줄을 문자열로 입력하십시오. 공간으로 두 부분으로 나눕니다. 처음부터 반복하여 문자가 아닌 문자와 두 번째 숫자가 아닌지 확인하십시오. –
당신은 정규 표현식 라이브러리 –