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

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

  执行  1234 /*输入*/

  1234 /*输出*/

  gets(由标准输入设备内读进一字符串)

  相关函数  fopen,fread,fscanf,fgets

  表头文件  #include<stdio.h>

  定义函数  char * gets(char *s);

  函数说明  gets()用来从标准设备读入字符并存到参数s所指的内存空间,直到出现换行字符或读到文件尾为止,最后加上NULL作为字符串结束。

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

  附加说明  由于gets()无法知道字符串s的大小,必须遇到换行字符或文件尾才会结束输入,因此容易造成缓冲溢出的安全性问题。建议使用fgets()取代。

  范例  参考fgets()

  mktemp(产生唯一的临时文件名)

  相关函数  tmpfile

  表头文件  #include<stdlib.h>

  定义函数  char * mktemp(char * template);

  函数说明  mktemp()用来产生唯一的临时文件名。参数template所指的文件名称字符串中最后六个字符必须是XXXXXX。产生后的文件名会借字符串指针返回。

  返回值  文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。

  附加说明  参数template所指的文件名称字符串必须声明为数组,如:

  char template[ ]=”template-XXXXXX”;

  不可用char * template=”template-XXXXXX”;

  范例  #include<stdlib.h>

  main()

  {

  char template[ ]=”template-XXXXXX”;

  mktemp(template);

  printf(“template=%s/n”,template);

  }

  putc(将一指定字符写入文件中)

  相关函数  fopen,fwrite,fscanf,fputc

  表头文件  #include<stdio.h>

  定义函数  int putc(int c,FILE * stream);

  函数说明  putc()会将参数c转为unsigned char后写入参数stream指定的文件中。虽然putc()与fputc()作用相同,但putc()为宏定义,非真正的函数调用。

  返回值  putc()会返回写入成功的字符,即参数c。若返回EOF则代表写入失败。

  范例  参考fputc()。

  putchar(将指定的字符写到标准输出设备)

  相关函数  fopen,fwrite,fscanf,fputc

  表头文件  #include<stdio.h>

  定义函数  int putchar (int c);

  函数说明  putchar()用来将参数c字符写到标准输出设备。

  返回值  putchar()会返回输出成功的字符,即参数c。若返回EOF则代表输出失败。

  附加说明  putchar()非真正函数,而是putc(c,stdout)宏定义。

  范例  参考getchar()。

  rewind(重设文件流的读写位置为文件开头)

  相关函数  fseek,ftell,fgetpos,fsetpos

  表头文件  #include<stdio.h>

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

  函数说明  rewind()用来把文件流的读写位置移至文件开头。参数stream为已打开的文件指针。此函数相当于调用fseek(stream,0,SEEK_SET)。

  返回值

  范例  参考fseek()

  setbuf(设置文件流的缓冲区)

  相关函数  setbuffer,setlinebuf,setvbuf

  表头文件  #include<stdio.h>

  定义函数  void setbuf(FILE * stream,char * buf);

  函数说明  在打开文件流后,读取内容之前,调用setbuf()可以用来设置文件流的缓冲区。参数stream为指定的文件流,参数buf指向自定的缓冲区起始地址。如果参数buf为NULL指针,则为无缓冲IO。Setbuf()相当于调用:setvbuf(stream,buf,buf?_IOFBF:_IONBF,BUFSIZ)

  返回值

  setbuffer(设置文件流的缓冲区)

  相关函数  setlinebuf,setbuf,setvbuf

  表头文件  #include<stdio.h>

  定义函数  void setbuffer(FILE * stream,char * buf,size_t size);

  函数说明  在打开文件流后,读取内容之前,调用setbuffer()可用来设置文件流的缓冲区。参数stream为指定的文件流,参数buf指向自定的缓冲区起始地址,参数size为缓冲区大小。

  返回值

  setlinebuf(设置文件流为线性缓冲区)

  相关函数  setbuffer,setbuf,setvbuf

  表头文件  #include<stdio.h>

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

  函数说明  setlinebuf()用来设置文件流以换行为依据的无缓冲IO。相当于调用:setvbuf(stream,(char * )NULL,_IOLBF,0);请参考setvbuf()。

  返回值

  setvbuf(设置文件流的缓冲区)

  相关函数  setbuffer,setlinebuf,setbuf

  表头文件  #include<stdio.h>

  定义函数  int setvbuf(FILE * stream,char * buf,int mode,size_t size);

  函数说明  在打开文件流后,读取内容之前,调用setvbuf()可以用来设置文件流的缓冲区。参数stream为指定的文件流,参数buf指向自定的缓冲区起始地址,参数size为缓冲区大小,参数mode有下列几种

  _IONBF 无缓冲IO

  _IOLBF 以换行为依据的无缓冲IO

  _IOFBF 完全无缓冲IO。如果参数buf为NULL指针,则为无缓冲IO。

  返回值

  ungetc(将指定字符写回文件流中)

  相关函数  fputc,getchar,getc

  表头文件  #include<stdio.h>

  定义函数  int ungetc(int c,FILE * stream);

  函数说明  ungetc()将参数c字符写回参数stream所指定的文件流。这个写回的字符会由下一个读取文件流的函数取得。

  返回值  成功则返回c 字符,若有错误则返回EOF。

上一页234下一页

视频学习

我考网版权与免责声明

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

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

最近更新

社区交流

考试问答