设为首页 加入收藏

TOP

C语言文件操作函数详解(三)
2014-02-14 12:55:19 来源: 作者: 【 】 浏览:594
Tags:语言 文件 操作 函数 详解

 

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

  范例 参考fgetc()。

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

  相关函数 fopen,fread,fscanf,getc

  表头文件 #include

  定义函数 int getchar(void);

  函数说明 getchar()用来从标准输入设备中读取一个字符。然后将该字符从unsigned char转换成int后返回。

  返回值 getchar()会返回读取到的字符,若返回EOF则表示有错误发生。

  附加说明 getchar()非真正函数,而是getc(stdin)宏定义。

  范例

  #include

  main()

  {

  FILE * fp;

  int c,i;

  for(i=0li<5;i++)

  {

  c=getchar();

  putchar(c);

  }

  }

  执行 1234 /*输入*/

  1234 /*输出*/

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

  相关函数 fopen,fread,fscanf,fgets

  表头文件 #include

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

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

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

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

  范例 参考fgets()

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

  相关函数 tmpfile

  表头文件 #include

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

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

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

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

  char template[ ]="template-XXXXXX";

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

  范例

  #include

  main()

  {

  char template[ ]="template-XXXXXX";

  mktemp(template);

  printf("template=%s/n",template);

  }

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

  相关函数 fopen,fwrite,fscanf,fputc

  表头文件 #include

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

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

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

  范例 参考fputc()。

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

  相关函数 fopen,fwrite,fscanf,fputc

  表头文件 #include

  定义函数 int putchar (int c);

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

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

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

  范例 参考getchar()。

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

  相关函数 fseek,ftell,fgetpos,fsetpos

  表头文件 #include

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

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

  返回值

  范例 参考fseek()

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

  相关函数 setbuffer,setlinebuf,setvbuf

  表头文件 #include

  定义函数 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

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

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

  返回值

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

  相关函数 setbuffer,setbuf,setvbuf

  表头文件 #include

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

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

  返回值

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

  相关函数 setbuffer,setlinebuf,setbuf

  表头文件 #include

  定义函数 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

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

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

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

        

首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇归并排序非递归算法 下一篇C优化篇之优化内存访问

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: