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