2014-09-16 2 views
0

누군가 실제로이 의미를 해석하는 방법을 설명해주십시오. http://www.tutorialspoint.com/cprogramming/c_file_io.htm설명서를 해석하는 방법

구체적으로 예를 들어

:이 권리는

int fscanf(FILE *stream, const char *format, ...) 

나는 종류의 단지 추측하지만, 무엇입니까? fscanf은 올바르게 스캔 된 값의 수를 나타내는 정수를 반환합니다. 또한 fscanf(fp, %d) 등을 어떻게 사용할 수 있습니까? 이것이 문법인지 어떻게 알 수 있습니까? 이 문서를 이해하려고 노력하고 있으므로 다른 함수 문서도 이해할 수 있습니다. 나는 혼란스러워한다. 누군가 시간을내어 설명해 주시겠습니까? 예를 들어, 내가 FILE * = fp을 수행 한 경우, 나는 단지 fscanf(fp, etc...)을 사용할 수 있지만 그 이유는 모르겠습니다. 고마워요!

+0

oh ... 이러한 선언을 실제 함수 선언으로 생각하면됩니까? 그것은 내가 생각하기에 많은 의미를 갖습니다. printf와 같은 함수는 모두 미리 정의되어 있습니까? 그것은 모두 의미가 있습니다. 어떻게 File * stream이 무엇인지 압니까? 그 함수가 구문의 해당 부분에서 FILE * 형식의 인수를 취한다는 것을 의미합니까? –

+0

이러한 기능은 실제로 코드에 포함 된 헤더 파일 (실제로는 자동으로)에 정의되어 있습니다! 파일 시스템에서 찾을 수 있으며, decl은 말 그대로 문자 페이지에서 바로 잘라내어 붙여 넣을 수 있습니다. 내 시스템의 fprintf에 대한 것은 /usr/include/stdio.h에 있습니다 ... – BadZen

+0

불행히도 C/types /를 검색하는 별도의 방법이 없으므로이를 사용하는 함수를 살펴보고이를 설명해! 하지만 그렇습니다. FILE * (FILE 구조체에 대한 포인터, 헤더에 정의되어있는 경우) 인 fscanf의 첫 번째 인수는 – BadZen

답변

1

인용 한 줄은 C 선언입니다. 함수 호출과 다른 구문을 사용합니다. 특히 함수 자체뿐만 아니라 각 인수 앞에는 유형이옵니다. 함수 "prototype"은 실제 C 프로그램에서 forward decl을 사용하는 것과 동일한 구문입니다.

그런 다음 varargs (그 '...'비트)가 복잡해 지므로 모든 형식 인수 중 임의의 수 (0 이상)가 '형식'뒤에 올 수 있음을 의미합니다.

희망이 도움이됩니다.

0

scanf's declarationint scanf (const char * format, ...)을 볼 경우, 당신이 그 fscanf 제외 fscanf와 비슷한 찾을 수는 추가 매개 변수 FILE *stream 있습니다. 실제로 scanf를 fscanf으로 처리 할 수 ​​있으며 추가 매개 변수는 stdin이며 scanf (const char * format, ...)fscanf(stdin, const char * format, ...)입니다. 따라서 scanf을 사용하는 경우 fscanf을 같은 방식으로 사용할 수 있습니다.