>백엔드 개발 >C#.Net 튜토리얼 >C 언어에서 fseek 함수를 사용하는 방법

C 언어에서 fseek 함수를 사용하는 방법

下次还敢
下次还敢원래의
2024-05-08 12:54:18714검색

fseek 함수는 파일 스트림에서 파일 포인터 위치를 설정하는 데 사용되며 구문은 fseek(FILE *stream, long int offset, int whence)입니다. whence 매개변수에 따라 오프셋은 파일의 시작(SEEK_SET), 현재 위치(SEEK_CUR) 또는 파일의 끝(SEEK_END)을 기준으로 합니다. 작업이 성공하면 0이 반환되고, 그렇지 않으면 -1이 반환되고 errno 변수가 오류를 나타내도록 설정됩니다.

C 언어에서 fseek 함수를 사용하는 방법

C 언어에서 fseek 함수 사용

fseek 함수는 파일 스트림에서 파일 읽기 및 쓰기 포인터의 위치를 ​​설정하는 데 사용됩니다. 구문은 다음과 같습니다.

<code class="c">int fseek(FILE *stream, long int offset, int whence);</code>

위치:

  • stream: 작업할 파일 스트림에 대한 포인터입니다.
  • stream:指向要操作的文件流的指针。
  • offset:从 whence 指定的位置开始,相对于文件的偏移量。
  • whence:指定 offset 相对于的位置,有以下几种选择:

    • SEEK_SET:从文件开头开始。
    • SEEK_CUR:从当前文件位置开始。
    • SEEK_END:从文件末尾开始。

使用方法:

  1. 定位到文件开头:

    <code class="c">fseek(stream, 0, SEEK_SET);</code>
  2. 定位到文件的特定位置:

    <code class="c">fseek(stream, 100, SEEK_SET); // 定位到文件中的第 101 个字节</code>
  3. 从当前位置向前移动:

    <code class="c">fseek(stream, 50, SEEK_CUR); // 从当前位置向前移动 50 个字节</code>
  4. 从文件末尾向后移动:

    <code class="c">fseek(stream, -10, SEEK_END); // 从文件末尾向后移动 10 个字节</code>

返回值:

如果操作成功,fseek 函数返回 0。如果操作失败,则返回 -1,并设置 errnooffset: whence로 지정된 위치에서 시작하는 파일을 기준으로 한 오프셋입니다.

whence: offset을 기준으로 위치를 지정합니다. 다음과 같은 옵션이 있습니다.

SEEK_SET: 처음부터 파일 시작의.

SEEK_CUR: 현재 파일 위치부터 시작합니다.

SEEK_END: 파일 끝부터 시작합니다. 🎜🎜사용법: 🎜🎜
    🎜🎜🎜파일의 시작 부분으로 이동: 🎜🎜
    <code class="c">#include <stdio.h>
    
    int main() {
      FILE *fp;
      char buffer[100];
    
      // 打开文件
      fp = fopen("test.txt", "r");
    
      // 定位到文件中的第 101 个字节
      fseek(fp, 100, SEEK_SET);
    
      // 从该位置读取数据
      fread(buffer, 1, 50, fp);
    
      // 关闭文件
      fclose(fp);
    
      return 0;
    }</code>
    🎜🎜🎜특정 파일로 이동 파일 위치 : 🎜🎜rrreee🎜🎜🎜현재 위치에서 앞으로 이동: 🎜🎜rrreee🎜🎜🎜파일 끝에서 뒤로 이동: 🎜🎜rrreee ol>🎜🎜반환값 :🎜🎜🎜작업이 성공하면 fseek 함수는 0을 반환합니다. 작업이 실패하면 -1이 반환되고 errno 변수가 오류를 나타내도록 설정됩니다. 🎜🎜🎜예: 🎜🎜🎜다음 예에서는 파일의 특정 위치로 이동하여 데이터를 읽는 방법을 보여줍니다. 🎜rrreee

위 내용은 C 언어에서 fseek 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.