lseek 函式與fseek 函式

2021-10-09 08:49:45 字數 1483 閱讀 4405

c語言lseek()函式:移動檔案的讀寫位置

標頭檔案:

#include

#include

定義函式:

off_t lseek(int fildes, off_t offset, int whence);

引數fildes 為已開啟的檔案描述詞, 引數offset 為根據引數whence來移動讀寫位置的位移數.

引數 whence 為下列其中一種:

seek_set 引數offset 即為新的讀寫位置.

seek_cur 以目前的讀寫位置往後增加offset 個位移量.

seek_end 將讀寫位置指向檔案尾後再增加offset 個位移量.

當whence 值為seek_cur或seek_end 時, 引數offet 允許負值的出現.

下列是教特別的使用方式:

1) 欲將讀寫位置移到檔案開頭時:lseek(int fildes, 0, seek_set);

2) 欲將讀寫位置移到檔案尾時:lseek(int fildes, 0, seek_end);

3) 想要取得目前檔案位置時:lseek(int fildes, 0, seek_cur);

返回值:當呼叫成功時則返回目前的讀寫位置, 也就是距離檔案開頭多少個位元組. 若有錯誤則返回-1, errno 會存放錯誤**.

附加說明:linux 系統不允許lseek()對tty 裝置作用, 此項動作會令lseek()返回espipe.

c語言fseek()函式:移動檔案流的讀寫位置

標頭檔案:

#include

定義函式:

int fseek(file * stream, long offset, int whence);

函式說明:

fseek()用來移動檔案流的讀寫位置.

1、引數stream 為已開啟的檔案指標,

2、引數offset 為根據引數whence 來移動讀寫位置的位移數。

引數 whence 為下列其中一種:

seek_set 從距檔案開頭offset 位移量為新的讀寫位置.

seek_cur 以目前的讀寫位置往後增加offset 個位移量.

seek_end 將讀寫位置指向檔案尾後再增加offset 個位移量.

當whence 值為seek_cur 或seek_end 時, 引數offset 允許負值的出現.

下列是較特別的使用方式:

1) 欲將讀寫位置移動到檔案開頭時:fseek(file *stream, 0, seek_set);

2) 欲將讀寫位置移動到檔案尾時:fseek(file *stream, 0, 0seek_end);

返回值:當呼叫成功時則返回0, 若有錯誤則返回-1, errno 會存放錯誤**.

附加說明:fseek()不像lseek()會返回讀寫位置, 因此必須使用ftell()來取得目前讀寫的位置.

#include main()

lseek函式的用法lseek函式的用法

使用 lseek 函式可以改變檔案的 cfo include unistd.h include off t lseek int filedes,off t offset,int whence 返回值 新的偏移量 成功 1 失敗 引數 offset 的含義取決於引數 whence 1.如果 whenc...

fseek函式與ftell函式聯絡與區別

fseek函式是 用來設定檔案的當前讀寫位置.函式原型 int fseek file fp,long offset,int origin 函式功能 把fp的檔案讀寫位置指標移到指定的位置.fseek fp,20,seek set 意思是把fp檔案讀寫位置指標從檔案開始後移20個位元組.ftell函式...

lseek函式用法

lseek函式 include off t lseek int fd,off t offset,int whence 返回值 若成功,返回新的檔案偏移量 若失敗,返回 1 可以呼叫lseek顯示地為乙個開啟檔案設定偏移量。檔案偏移都是核心概念,所以lseek並不會引起任何真正的 i o 操作。對引數...