C语言的文件(篇章之二)

作者: 遮天的龙 | 来源:发表于2016-06-17 08:31 被阅读217次

    【7】、文件的读写

    字符I/O:fputc与fgetc
    fputc
    函数原型:

    int  fputc(int c, FILE *fp)
    

    功能:

    把一字节代码c写入fp指向的文件中
    

    返回值:

    正常,返回c;出错,为EOF(-1)      
    

    fgetc
    函数原型:

    int  fgetc(FILE *fp)
    

    功能:

    从fp指向的文件中读取一字节代码
    

    返回值:

    正常,返回读到的代码值;读到文件尾或出错,为EOF(-1)
    

    feof
    函数原型:

    BOOL  feof(FILE  *fp)
    

    功能:

    判断文件是否结束
    

    返值:

    文件结束,返回真(非0);文件未结束,返回0
    
    
    【注意】:
    putc(ch,fp)与fputc(ch,fp)效果一致,但是putc可以作为宏替换,速度更快
    getc(fp)与fgetc(fp)效果一致,但是getc可以作为宏替换,速度更快
    而之前的
    putchar(c)则是fputc(c,stdout)
    getchar( )则是fgetc(stdin)
    

    【8】、字符串I/O: fgets与fputs

    函数原型:

    char  *fgets(char  *s,int n,FILE  *fp)
    int   fputs(char  *s,FILE  *fp)
    

    功能:

    从fp指向的文件读/写一个字符串
    

    返回值:

    fgets正常时返回读取字符串的首地址;出错或文件尾,返回NULL
    fputs正常时返回写入的最后一个字符;出错为EOF
    

    【9】、数据块I/O:fread与fwrite

    函数原型:

    size_t  fread (void  *buffer,size_t  size, size_t  count,  FILE   *fp)
    size_t  fwrite(void  *buffer,size_t  size, size_t  count,  FILE   *fp)
    

    功能:

    读/写数据块
    

    返值:

    成功,返回读/写的块数;出错或文件尾,返回0
    

    说明:

    buffer:  指向要输入/输出数据块的首地址的指针
    size:  读/写的数据块的大小(字节数)
    count:   要读/写的数据块的个数
    fp:    要读/写的文件指针
    fread与fwrite 一般用于二进制文件的输入/输出
    

    【10】、注意:

      w的方式如果遇到0A(换行),则会加上个0D(回车),
      所以读写二进制文件都要使用wb,而不是w 
    

    eg:

    用char ch1[100]=“abcdefg\n”;写入文件试验一下效果
    
    在读取二进制文件的时候永远使用wb,rb而不用w,r
    

    相关文章

      网友评论

        本文标题:C语言的文件(篇章之二)

        本文链接:https://www.haomeiwen.com/subject/ryqvdttx.html