linux常用c函数:文件内容操作篇

来源:Linux认证    发布时间:2012-11-10    Linux认证视频    评论

  clearerr(清除文件流的错误旗标)

  相关函数  feof

  表头文件  #include<stdio.h>

  定义函数  void clearerr(FILE * stream);

  函数说明  clearerr()清除参数stream指定的文件流所使用的错误旗标。

  返回值

  fclose(关闭文件)

  相关函数  close,fflush,fopen,setbuf

  表头文件  #include<stdio.h>

  定义函数  int fclose(FILE * stream);

  函数说明  fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。

  返回值  若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。

  错误代码  EBADF表示参数stream非已打开的文件。

  范例  请参考fopen()。

  fdopen(将文件描述词转为文件指针)

  相关函数  fopen,open,fclose

  表头文件  #include<stdio.h>

  定义函数  FILE * fdopen(int fildes,const char * mode);

  函数说明  fdopen()会将参数fildes 的文件描述词,转换为对应的文件指针后返回。参数mode 字符串则代表着文件指针的流形态,此形态必须和原先文件描述词读写模式相同。关于mode 字符串格式请参考fopen()。

  返回值  转换成功时返回指向该流的文件指针。失败则返回NULL,并把错误代码存在errno中。

  范例  #include<stdio.h>

  main()

  {

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

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

  fclose(fp);

  }

  执行  hello!

  feof(检查文件流是否读到了文件尾)

  相关函数  fopen,fgetc,fgets,fread

  表头文件  #include<stdio.h>

  定义函数  int feof(FILE * stream);

  函数说明  feof()用来侦测是否读取到了文件尾,尾数stream为fopen()所返回之文件指针。如果已到文件尾则返回非零值,其他情况返回0。

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

  fflush(更新缓冲区)

  相关函数  write,fopen,fclose,setbuf

  表头文件  #include<stdio.h>

  定义函数  int fflush(FILE* stream);

  函数说明  fflush()会强迫将缓冲区内的数据写回参数stream指定的文件中。如果参数stream为NULL,fflush()会将所有打开的文件数据更新。

  返回值  成功返回0,失败返回EOF,错误代码存于errno中。

  错误代码  EBADF 参数stream 指定的文件未被打开,或打开状态为只读。其它错误代码参考write()。

  fgetc(由文件中读取一个字符)

  相关函数  open,fread,fscanf,getc

  表头文件  include<stdio.h>

  定义函数  nt fgetc(FILE * stream);

  函数说明  fgetc()从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF。

  返回值  getc()会返回读取到的字符,若返回EOF则表示到了文件尾。

  范例  #include<stdio.h>

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

  定义函数  har * fgets(char * s,int size,FILE * stream);

  函数说明  fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最后会加上NULL作为字符串结束。

  返回值  gets()若成功则返回s指针,返回NULL则表示有错误发生。

  范例  #include<stdio.h>

  main()

  {

  char s[80];

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

  }

  执行  this is a test /*输入*/

  this is a test /*输出*/

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

  相关函数  open,fopen

  表头文件  #include<stdio.h>

  定义函数  int fileno(FILE * stream);

  函数说明  fileno()用来取得参数stream指定的文件流所使用的文件描述词。

  返回值  返回文件描述词。

  范例  #include<stdio.h>

  main()

  {

  FILE * fp;

  int fd;

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

  fd=fileno(fp);

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

  fclose(fp);

  }

  执行  fd=3

上一页1234下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答