사용범위
Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수
기능
C언어 표준 함수로 scanf 함수와 동일하지만 표준 입력(stdin)이 아닌 FILE 로부터 데이터를 받아서 저장한다.
헤더
#include <stdio.h>
※ fscanf 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※
함수
int fscanf(FILE* file, const char* format, ...);
파라미터
- FILE* file
- fopen 함수를 통해 얻은 FILE의 포인터를 입력한다.
- const char* format
- 문자열 (string) 형태로 fscanf 함수를 통해 입력받을 데이터의 서식을 입력한다.
- 서식 지정자 참고
- ...
- C언어의 가변인자로 입력되는 파라미터의 개수를 동적일때 사용한다.
- fscanf 에서는 format에 들어가는 내용에 맞춰서 파라미터를 입력해야한다.
- 변수에 할당받기 위해서는 반드시 변수의 주소값을 입력해야 한다. ( & 사용 )
반환값
성공시 입력받는 파라미터의 개수를 반환한다.
실패시 EOF(-1) 를 반환한다.
잡학지식
<소스 코드>
#include <stdio.h>
int main() {
FILE *fp;
int a,b,c;
int ret;
char buffer[]="111 333 999";
fp = fopen("test.txt", "w");
if(fp != NULL) {
fprintf(fp, "%s", buffer);
fclose(fp);
} else {
// fopen 실패 !
}
fp = fopen("test.txt", "r");
if(fp != NULL) {
ret = fscanf(fp, "%d %d %d", &a, &b, &c);
printf("ret[%d] a[%d] b[%d] c[%d]\n", ret, a, b, c);
fclose(fp);
} else {
// fopen 실패 !
}
return 0;
}
※ 실행 결과
ret[3] a[111] b[333] c[999]
< test.txt >
111 333 999
반응형
'C언어 > stdio.h' 카테고리의 다른 글
[C언어] fputc 함수 (stdio.h) (0) | 2022.08.17 |
---|---|
[C언어] fgetc 함수 (stdio.h) (0) | 2022.08.17 |
[C언어] sscanf 함수 (stdio.h) (0) | 2022.08.09 |
[C언어] fprintf 함수 (stdio.h) (0) | 2022.08.07 |
[C언어] sprintf 함수 (stdio.h) (0) | 2022.08.07 |