에에 숫자 만 들어 있어야하는 파일을 읽으려고합니다. 해당 조건을 충족하는 경우 전체 파일을 성공적으로 읽을 수 있지만 그 안에 편지가있는 경우 오류 문과 함께 false를 반환해야합니다.C++ 숫자 만있는 파일에서 읽음 (double)
문제는 내 프로그램이이 문자를 찾으면 오류가 발생한다는 것입니다. 아무런 문제가 없다는 것을 발견 할 수는 있지만 건너 뛸 때 결정됩니다.
파일에 읽고 숫자 만에 읽으려고하는 내 코드 :
는bool compute::Read (ifstream& stream)
{
double value;
string line;
int lineNumber = 1;
if (stream)
{
while (getline(stream, line))
{
lineNumber++;
istringstream strStream(line);
while (strStream >> value)
{
cout << value << endl;
}
}
}
return true;
}
나는이에 사용하는 입력 파일이 아닌 숫자가 있음을
70.5 61.2 A8 10.2
2
공지 사항입니다 내 입력 파일의 문자. 그 시점에서 실패하고 false를 반환해야합니다.
현재는 "A"에 도달하면 단순히 다음 줄로 돌아가서 getline while 루프를 계속합니다.
감사의 말을 전하면됩니다.
하자. 파일에'doubles '가 포함되어 있지 않거나 바이너리로 읽어야 할 경우. 여기에는 * 실제 숫자 *가 텍스트 형식으로 포함되어 있으므로 * double *로 변환해야합니다. – EJP
코드에 멈추고 false를 반환하는 지침이 없습니다 ... –
@EJP 두 배가 포함되어있어 표현됩니다 텍스트로. – CashCow