본문 바로가기
IT/c언어

C언어 fseek 함수: 파일 포인터의 위치 이동

by 뉴코딩맨 2023. 7. 21.
C언어 프로그래밍에서 fseek 함수는 파일 입출력 시 파일 포인터의 위치를 이동하거나 변경하는 데에 사용되는 함수입니다. 파일 포인터는 파일을 읽거나 쓸 때 현재 위치를 나타내는 역할을 합니다. fseek 함수를 통해 파일 포인터의 위치를 지정한 오프셋으로 이동시킬 수 있으며, 이를 통해 파일의 특정 부분에서 데이터를 읽거나 쓸 수 있습니다.

 

 

1. fseek 함수란?

fseek 함수는 C언어에서 파일 입출력 시 파일 포인터의 위치를 이동하거나 변경하는 데에 사용되는 함수입니다. 파일 포인터는 파일을 읽거나 쓸 때 현재 위치를 나타내며, fseek 함수를 사용하여 파일 포인터를 원하는 위치로 이동시킬 수 있습니다.
 

2. fseek 함수의 사용법

int fseek(FILE *stream, long int offset, int whence);
 
fseek 함수는 위와 같은 형태로 선언되며, 세 개의 인자를 받습니다.
 
  • stream: 파일 포인터를 가리키는 FILE 구조체의 포인터입니다.
  • offset: 이동할 오프셋을 나타내는 값으로, 파일의 처음부터 얼마나 떨어진 위치로 이동할지 지정합니다.
  • whence: 이동할 기준 위치를 지정하는 값으로, SEEK_SET, SEEK_CUR, SEEK_END 중 하나를 사용합니다.

 

3. fseek 함수의 반환 값

fseek 함수는 성공적으로 파일 포인터를 이동시킨 경우 0을 반환합니다. 실패한 경우는 보통 -1을 반환하며, 이 때는 오류가 발생한 것을 의미합니다.
 

4. fseek 함수의 예시

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "r");
    if (file != NULL) {
        fseek(file, 10, SEEK_SET);
        // 파일 포인터를 파일의 10번째 바이트로 이동

        char ch = fgetc(file);
        printf("10번째 바이트의 문자: %c\n", ch);

        fclose(file);
    }
    return 0;
}

 

 

5. fseek 함수와 파일 입출력

fseek 함수는 파일 입출력에서 파일 포인터를 이동시키는 데에 사용됩니다. 파일을 읽을 때 특정 위치부터 읽거나, 파일을 쓸 때 특정 위치에 데이터를 쓰는 등의 작업을 수행할 때 유용하게 활용됩니다.
 
 

6. fseek 함수와 이진 파일 처리

이진 파일은 텍스트 파일과 달리 특정한 데이터 구조를 가지는 파일입니다. fseek 함수를 이용하여 이진 파일의 원하는 위치로 파일 포인터를 이동시킨 후 데이터를 읽거나 쓸 수 있습니다.
 

7. fseek 함수와 텍스트 파일 처리

텍스트 파일은 사람이 읽고 이해할 수 있는 문자들로 이루어진 파일입니다. fseek 함수를 사용하여 텍스트 파일에서 원하는 위치의 문자들을 읽거나 쓸 수 있습니다.
 

8. 결론

이 글에서는 C언어의 fseek 함수에 대해 알아보았습니다. fseek 함수는 파일 입출력 시 파일 포인터의 위치를 이동하거나 변경하는 데에 사용되며, 특정 위치의 데이터를 읽거나 쓸 때 유용하게 활용됩니다. 파일 입출력을 다루는 프로그램에서는 fseek 함수의 사용법과 주의사항을 잘 숙지하여 효율적인 파일 처리를 수행하는 것이 중요합니다.

 

 

C언어 fscanf 함수: 파일에서 데이터 읽어오기

C언어에서 fscanf 함수는 파일로부터 데이터를 읽어오는 데에 사용되는 중요한 함수입니다. 기존의 scanf 함수와 유사하게 동작하지만, fscanf 함수는 파일로부터 데이터를 읽어와서 변수에 저장할

newcodingman.tistory.com

 

댓글