歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

linux常用c函數:文件內容操作篇(一)

  clearerr(清除文件流的錯誤旗標)

  相關函數  feof

  表頭文件  #include

  定義函數  void clearerr(FILE * stream);

  函數說明  clearerr()清除參數stream指定的文件流所使用的錯誤旗標。

  返回值

  fclose(關閉文件)

  相關函數  close,fflush,fopen,setbuf

  表頭文件  #include

  定義函數  int fclose(FILE * stream);

  函數說明  fclose()用來關閉先前fopen()打開的文件。此動作會讓緩沖區內的數據寫入文件中,並釋放系統所提供的文件資源。

  返回值  若關文件動作成功則返回0,有錯誤發生時則返回EOF並把錯誤代碼存到errno。

  錯誤代碼  EBADF表示參數stream非已打開的文件。

  范例  請參考fopen()。

  fdopen(將文件描述詞轉為文件指針)

  相關函數  fopen,open,fclose

  表頭文件  #include

  定義函數  FILE * fdopen(int fildes,const char * mode);

  函數說明  fdopen()會將參數fildes 的文件描述詞,轉換為對應的文件指針後返回。參數mode 字符串則代表著文件指針的流形態,此形態必須和原先文件描述詞讀寫模式相同。關於mode 字符串格式請參考fopen()。

  返回值  轉換成功時返回指向該流的文件指針。失敗則返回NULL,並把錯誤代碼存在errno中。

  范例  #include

  main()

  {

  FILE * fp =fdopen(0,”w+”);

  fprintf(fp,”%s\n”,”hello!”);

  fclose(fp);

  }

  執行  hello!

  feof(檢查文件流是否讀到了文件尾)

  相關函數  fopen,fgetc,fgets,fread

  表頭文件  #include

  定義函數  int feof(FILE * stream);

  函數說明  feof()用來偵測是否讀取到了文件尾,尾數stream為fopen()所返回之文件指針。如果已到文件尾則返回非零值,其他情況返回0。

  返回值  返回非零值代表已到達文件尾。

  fflush(更新緩沖區)

  相關函數  write,fopen,fclose,setbuf

  表頭文件  #include

  定義函數  int fflush(FILE* stream);

  函數說明  fflush()會強迫將緩沖區內的數據寫回參數stream指定的文件中。如果參數stream為NULL,fflush()會將所有打開的文件數據更新。

  返回值  成功返回0,失敗返回EOF,錯誤代碼存於errno中。

  錯誤代碼  EBADF 參數stream 指定的文件未被打開,或打開狀態為只讀。其它錯誤代碼參考write()。

  fgetc(由文件中讀取一個字符)

  相關函數  open,fread,fscanf,getc

  表頭文件  include

  定義函數  nt fgetc(FILE * stream);

  函數說明  fgetc()從參數stream所指的文件中讀取一個字符。若讀到文件尾而無數據時便返回EOF。

  返回值  getc()會返回讀取到的字符,若返回EOF則表示到了文件尾。

  范例  #include

  main()

  {

  FILE *fp;

  int c;

  fp=fopen(“exist”,”r”);

  while((c=fgetc(fp))!=EOF)

  printf(“%c”,c);

  fclose(fp);

  }

  fgets(由文件中讀取一字符串)

  相關函數  open,fread,fscanf,getc

  表頭文件  include

  定義函數  har * fgets(char * s,int size,FILE * stream);

  函數說明  fgets()用來從參數stream所指的文件內讀入字符並存到參數s所指的內存空間,直到出現換行字符、讀到文件尾或是已讀了size-1個字符為止,最後會加上NULL作為字符串結束。

  返回值  gets()若成功則返回s指針,返回NULL則表示有錯誤發生。

  范例  #include

  main()

  {

  char s[80];

  fputs(fgets(s,80,stdin),stdout);

  }

  執行  this is a test /*輸入*/

  this is a test /*輸出*/

  fileno(返回文件流所使用的文件描述詞)

  相關函數  open,fopen

  表頭文件  #include

  定義函數  int fileno(FILE * stream);

  函數說明  fileno()用來取得參數stream指定的文件流所使用的文件描述詞。

  返回值  返回文件描述詞。

  范例  #include

  main()

  {

  FILE * fp;

  int fd;

  fp=fopen(“/etc/passwd”,”r”);

  fd=fileno(fp);

  printf(“fd=%d\n”,fd);

  fclose(fp);

  }

  執行  fd=3

Copyright © Linux教程網 All Rights Reserved