C语言的流函数

一.fopen 成功返回流指针fp ,失败返回null

   fopen(char * pathname,const char *mode);

   mode:r或rb 只读方式打开

           w 或wb 写文件,有则文件内容清空,没有则创建新文件

           a 或ab 文件末尾添加,有则添加,没有则创建

二.fclose (fp) 成功返回0,失败返回EOF

   fcolseall() 关闭所有流,成功返回关闭数,失败返回EOF

三,读写

 字符:int fgetc(fp) 读取字符,并转换成int格式

        int  getc(fp) 可以作为宏

        int getchar() 即 getc(stdin)

       int fputc(int c ,fp)  成功返回c 否则返回EOF

       int putc(int c,fp)  常用较快的宏实现

 

行 :  char * fgets(char * buf,int count,fp)  d读取字符直至换行符或者count-1 末尾添加'\0',保留换行符 成功返回 buf 否则返回NULL

        char * gets(char * buf)  从stdin读取一行,删除换行符,添加'\0'

        int  fputs(char *str,fp) 把以'\0'结尾的字符串输出fp中 ,不一定一次输出一行

        int  puts(const char *str)  把以'\0'结尾的字符串输出fp中 ,不输出'\0',一定输出换行符

块: fread(&data2,sizeof(float),2,fp)   size 大小为字节,返回count

       fwrite(&item,sizeof(item),1,fp)

三.流定位

   1.long int ftell(fp)  返回从问价开始的字节数,否则返回-1

   2.int fseek(fp,long int offet,int where)  offet 偏移 where 为 SEEK_SET 开始 SEEK_CUR SEEK_END   成功返回0,否则返回非0  用于改变fp指向流文件的位置

     fseek(fp,(long)i*sizeof(struct record),0) 0 表示文件开始

  3.rewind (fp) 定位fp指向开始

  4.int fgetpos(fp,fpos_t pos) 得到读写指针的位置 成功返回0 否则返回非0

    int fsetpos(fp,fpos_t pos) 设定指针位置

 

四.结束

1.int ferror(fp) 流错误指向器被设置返回1,否则返回0

2.int feof(fp)文件结束返回非0否则返回0

3,clearerr(fp)清除指示器

 

五输出

printf(char *format,) 标准输出

fprintf(fp,char *format,)输出到fp流

sprintf(char *buf,char *format)输出到缓冲区,并且自动末尾加结束符

 

 

scanf(char *format,&num) 标准输入

fscanf(fp,char *format,&num)输出到fp流

sscanf(char *buf,char *format,&num)输出到缓冲区,并且自动末尾加结束符

posted @ 2016-06-05 19:22  ranran1203  阅读(451)  评论(0)    收藏  举报