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...