C語言lseek()函式:移動檔案的讀寫位置
相關函式:dup, open, fseek
標頭檔案:#include <sys/types.h> #include <unistd.h>
定義函式:off_t lseek(int fildes, off_t offset, int whence);
函式說明:
每一個已開啟的檔案都有一個讀寫位置, 當開啟檔案時通常其讀寫位置是指向檔案開頭, 若是以附加的方式開啟檔案(如O_APPEND), 則讀寫位置會指向檔案尾. 當read()或write()時, 讀寫位置會隨之增加,lseek()便是用來控制該檔案的讀寫位置. 引數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.
標頭檔案:#include <sys/types.h> #include <unistd.h>
定義函式:off_t lseek(int fildes, off_t offset, int whence);
函式說明:
每一個已開啟的檔案都有一個讀寫位置, 當開啟檔案時通常其讀寫位置是指向檔案開頭, 若是以附加的方式開啟檔案(如O_APPEND), 則讀寫位置會指向檔案尾. 當read()或write()時, 讀寫位置會隨之增加,lseek()便是用來控制該檔案的讀寫位置. 引數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語言ftell()函式:獲取檔案讀寫指標的當前位置C語言函式指標
- C語言-檔案讀寫C語言
- C語言fgetc()函式:讀檔案函式(由檔案中讀取一個字元)C語言函式字元
- C語言putc()函式:寫檔案函式(將一指定字元寫入檔案中)C語言函式字元
- C語言fputc()函式:寫檔案函式(將一指定字元寫入檔案流中)C語言函式字元
- C語言解讀assert函式C語言函式
- C語言unlink()函式:刪除檔案C語言函式
- C語言fchmod()函式:修改檔案的許可權C語言函式
- C語言link()函式:建立檔案連線C語言函式
- C語言函式手冊:c語言庫函式大全|C語言標準函式庫|c語言常用函式查詢C語言函式
- C語言的函式C語言函式
- C語言lstat()函式:由檔案描述詞取得檔案狀態C語言函式
- C語言fstat()函式:由檔案描述詞取得檔案狀態C語言函式
- C語言remove()函式:刪除檔案或目錄C語言REM函式
- C語言chown()函式:改變檔案所有者C語言函式
- C語言/C++讀取檔案資訊C語言C++
- C語言讀取寫入CSV檔案 [一]基礎篇C語言
- C語言setpwent()函式:從頭讀取密碼檔案中的賬號資料C語言函式密碼
- C語言setvbuf()函式:設定檔案流的緩衝區C語言函式
- C語言rewind()函式:將檔案指標重新指向檔案開頭C語言函式指標
- C++ 的函式分檔案編寫C++函式
- C語言symlink()函式:建立檔案符號連線C語言函式符號
- C語言rename()函式:重新命名檔案或目錄C語言函式
- 讀寫INI檔案的四個函式 (轉)函式
- C語言fopen()函式:開啟一個檔案並返回檔案指標C語言函式指標
- C語言 execve()函式C語言函式
- C語言常用函式C語言函式
- 函式:file.move 移動檔案函式
- Linux ---lseek() 函式Linux函式
- C語言函式sscanf()的用法C語言函式
- C語言qsort函式的使用C語言函式
- 各個程式語言語言的檔案/函式/變數的命名方法函式變數
- 用動態記憶體讀入任意大小的檔案(c語言)記憶體C語言
- C語言 itoa函式及atoi函式C語言函式
- C語言判斷檔案是否存在,判斷檔案可讀可寫可執行C語言
- [ASM C/C++] C語言的main 函式ASMC++C語言AI函式
- Go 語言的分散式讀寫互斥Go分散式
- C語言函式呼叫棧C語言函式