linux C庫函式 三

2021-08-26 14:15:31 字數 2362 閱讀 6919

linux c庫函式(三)

2023年01月26日

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

相關函式

rewind,ftell,fgetpos,fsetpos,lseek

表頭檔案

#include

定義函式

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

函式說明

fseek()用來移動檔案流的讀寫位置。引數stream為已開啟的檔案指標,引數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()

執行 offset = 5

offset =0

offset=10

ftell(取得檔案流的讀取位置)

相關函式

fseek,rewind,fgetpos,fsetpos

表頭檔案

#include

定義函式

long ftell(file * stream);

函式說明

ftell()用來取得檔案流目前的讀寫位置。引數stream為已開啟的檔案指標。

返回值

當呼叫成功時則返回目前的讀寫位置,若有錯誤則返回-1,errno會存放錯誤**。

錯誤**

ebadf 引數stream無效或可移動讀寫位置的檔案流。

範例 參考fseek()。

fwrite(將資料寫至檔案流)

相關函式

fopen,fread,fseek,fscanf

表頭檔案

#include

定義函式

size_t fwrite(const void * ptr,size_t size,size_t nmemb,file * stream);

函式說明

fwrite()用來將資料寫入檔案流中。引數stream為已開啟的檔案指標,引數ptr 指向欲寫入的資料位址,總共寫入的字元數以引數size*nmemb來決定。fwrite()會返回實際寫入的nmemb數目。

返回值

返回實際寫入的nmemb數目。

範例 #include

#define set_s (x,y)

#define nmemb 3

struct test

s[nmemb];

main()

執行 參考fread()。

getc(由檔案中讀取乙個字元)

相關函式

read,fopen,fread,fgetc

表頭檔案

#include

定義函式

int getc(file * stream);

函式說明

getc()用來從引數stream所指的檔案中讀取乙個字元。若讀到檔案尾而無資料時便返回eof。雖然getc()與fgetc()作用相同,但getc()為巨集定義,非真正的函式呼叫。

返回值

getc()會返回讀取到的字元,若返回eof則表示到了檔案尾。

範例 參考fgetc()。

getchar(由標準輸入裝置內讀進一字元)

相關函式

fopen,fread,fscanf,getc

表頭檔案

#include

定義函式

int getchar(void);

函式說明

getchar()用來從標準輸入裝置中讀取乙個字元。然後將該字元從unsigned char轉換成int後返回。

返回值

getchar()會返回讀取到的字元,若返回eof則表示有錯誤發生。

附加說明

getchar()非真正函式,而是getc(stdin)巨集定義。

linux C庫函式 二

linux c庫函式 二 2010年01月26日 b linux fopen fclose fread fwrite等函式 b b b clearerr 清除檔案流的錯誤旗標 相關函式 feof 表頭檔案 include 定義函式 void clearerr file stream 函式說明 cle...

linux C庫函式 二

linux c庫函式 二 2010年01月26日 b linux fopen fclose fread fwrite等函式 b b b clearerr 清除檔案流的錯誤旗標 相關函式 feof 表頭檔案 include 定義函式 void clearerr file stream 函式說明 cle...

linux C庫函式 二

linux c庫函式 二 2010年01月26日 b linux fopen fclose fread fwrite等函式 b b b clearerr 清除檔案流的錯誤旗標 相關函式 feof 表頭檔案 include 定義函式 void clearerr file stream 函式說明 cle...