C fseek() 파일의 읽기·쓰기 위치 이동 함수
- 헤더: stdio.h
- 형태: int fseek( FILE *stream, long offset, int whence)
- 인수: FILE *stream대상 파일 스트림
long offset 이동할 바이트 수
int whence 시작 시점 - 반환: int 0을 반환, 오류가 발생하면 -1을 반환
파일의 읽기·쓰기 위치를 파일의 처음 위치로 초기화합니다. 파일의 위치는 기준 옵션에 따라 앞으로 또는 뒤로 읽기·쓰기 위치로 건너 띕니다. 건너 띈다는 것은 인수로 받은 숫자의 위치로 이동한다는 뜻이 아니라 건너 띄듯이 count 한다는 뜻입니다. 아래의 그림을 참고하여 주십시오.
whence | 설명 |
SEEK_SET | 파일의 시작 |
SEEK_CUR | 현재 읽기/쓰기 포인터 위치 |
SEEK_END | 파일의 끝 |
C언어 fseek() 함수 예제
#include <stdio.h>
int main( void)
{
FILE *fp;
char str[1024];
int ndx;
fp = fopen( "./test.bin", "r");
printf( "%s\n", fgets( str, 1024, fp));
fseek( fp, 10, SEEK_SET); // 파일의 시작에서 10번을 건너 띈다.
printf( "%s\n", fgets( str, 1024, fp));
fseek( fp, 5, SEEK_SET); // 파일의 시작에서 5번을 건너 띈다.
fseek( fp, 5, SEEK_CUR); // 현재 위치에서 다시 5번을 건너 띈다.
printf( "%s\n", fgets( str, 1024, fp));
fseek( fp, -5, SEEK_END); // 파일의 시작에서 5번을 건너 띈다.
printf( "%s\n", fgets( str, 1024, fp));
fclose( fp);
return 0;
}
C언어 fseek() 함수 예제 실행 결과
test.bin 파일에 a부터 f까지 입력되어 있을 때 실행 결과입니다.
]$ ./a.out
0123456789abcdef
abcdef
abcdef
bcdef
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 abs 함수 정수 절대값 구하기 (0) | 2020.03.13 |
---|---|
C언어 rewind 함수 파일 읽기·쓰기 위치 초기화 (2) | 2020.03.13 |
C언어 ftell 함수 파일 읽기·쓰기 위치 구하기 (0) | 2020.03.13 |