fseek 函數用於在檔案流中設定檔案指標位置,其語法為 fseek(FILE *stream, long int offset, int whence)。根據 whence 參數,offset 相對於檔案開頭 (SEEK_SET)、目前位置 (SEEK_CUR) 或檔案結尾 (SEEK_END) 進行偏移。如果操作成功,返回 0;否則,返回 -1 並設定 errno 變數以指示錯誤。
fseek 函數在C 語言中的用法
fseek 函數用於在檔案流中設定檔案讀寫指針的位置。其語法為:
<code class="c">int fseek(FILE *stream, long int offset, int whence);</code>
其中:
stream
#:指向要操作的檔案流的指標。 offset
:從 whence
指定的位置開始,相對於檔案的偏移量。 whence
:指定offset
相對於的位置,有以下幾個選擇:
SEEK_SET
:從檔案開頭開始。 SEEK_CUR
:從目前檔案位置開始。 SEEK_END
:從檔案結尾開始。 使用方法:
#定位到檔案開頭:
#<code class="c">fseek(stream, 0, SEEK_SET);</code>
定位到檔案的特定位置:
<code class="c">fseek(stream, 100, SEEK_SET); // 定位到文件中的第 101 个字节</code>
從目前位置向前移動:
<code class="c">fseek(stream, 50, SEEK_CUR); // 从当前位置向前移动 50 个字节</code>
從檔案末端向後移動:
<code class="c">fseek(stream, -10, SEEK_END); // 从文件末尾向后移动 10 个字节</code>
傳回值:
如果操作成功,fseek 函數回傳0。如果操作失敗,則傳回 -1,並設定 errno
變數以指示錯誤。
範例:
以下範例示範如何在檔案中定位到特定位置並讀取資料:
<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>
以上是c語言中fseek函數怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!