파일에서 부동 소수점 숫자를 선택하고 싶습니다. 나는이 방법으로 난 단지 정수를 얻을 것을 보았다 그러나 다음파일에서 부동 소수점 숫자를 선택하십시오.
while ((ch= getc(fp)) != EOF)
{
if(isdigit(ch))
//do some stuff
}
(하지만 난 플로트를 원하는) : 내가 해결책으로 생각하면이 있었다. 그래서 나는 그것을 보면서 나는이 발견 : 나는 또한 fscanf()
의 그것이라고 무엇보다도 정의를 보았다
while((fscanf(fp, "%lf", &n) == 1)
//do some stuff
..
반환 값 성공시
의 함수는 성공적으로 채워진 인수 의 항목 수를 반환합니다. 이 수는 항목의 예상 수와 일치하거나 일치하는 실패, 읽음 오류 또는 파일 끝 도달으로 인해 0보다 작을 수 있습니다.
을 읽는 동안 읽기 오류가 발생하거나 파일 끝에 도달하면 적절한 표시기가 설정됩니다 (feof 또는 ferror). 그리고 데이터가 성공적으로 읽히기 전에 이 발생하면 EOF가 반환됩니다.
넓은 문자를 해석 할 때 인코딩 오류가 발생하면 함수는 errno를 EILSEQ로 설정합니다.
그러나 나는 while((fscanf(fp, "%lf", &n) == 1)
을 이해하지 못합니다. fscanf()
이 float 값을 읽으면 1을 반환하고, 그렇지 않으면 다른 것을 반환 할 것입니까?
"선택"이라고 할 때, 건너 뛰려는 파일에 더 많은 부동 소수점 데이터가 있음을 의미합니까? – unwind
글쎄, 내가 생각한 질문을 썼을 때, 나는 더 신중하게 내가 가진 운동과 그 다음의 해결책을 다시 읽었고, 프로그램이 숫자를 선택하고 그 결과가 플로트 타입으로 인쇄된다. 그러나 내가 그걸 어떻게 할 수 있는지 궁금 해서요. (부동 소수점 만 선택하십시오). – yaylitzis