首页 > 其他分享 >文件的API

文件的API

时间:2023-03-17 16:59:08浏览次数:29  
标签:文件 stream int char API FILE size

文件的操作步骤:打开,读写,关闭

fopen:打开文件

  FILE *fopen(const char *path, const char *mode)

    path:文件的路径

    mode:打开文件的方式

    返回值

      成功:返回打开文件的指针

      失败:NULL

    文件的打开方式(mode)

      r:只读的方式打开

      w:只写的方式打开

      a:追加的方式打开

      +:可读可写的凡是打开

      t:以文本文件的方式打开(默认省略)

      b:以二进制方式打开

                   

fclose:关闭文件

  int fclose(FILE *fp)

  返回值

    成功返回0

    失败返回非0

              

fputc:一次写一个字节

  int fputc(int c, FILE *stream)            将 c 的值写到stream所代表的文件中

  返回值

    成功,则返回写入的字节数

    失败,则返回一个EOF(EOF是在stdio.h文件中定义的符号常量,值为-1,只在文本文件中有效)

fgetc:一次读取一个字节

  int fgetc(FILE *stream)                从stream所表示的文件中读取一个字节,将字节值返回

  返回值

    以 t 的方式:读到文件结尾返回EOF

    以 b 的方式:读到文件结尾,使用feof判断结尾

fputs:一次写一个字符串

  int fputs(const char *s, FILE *stream)

fgets:一次读一个字符串(遇到换行符结束),读取一行文件数据

  char *fgets(char *s, int size, FILE *stream)

  返回值

    成功,返回目的数组的首地址,即s

    失败,返回NULL

fwrite:一次写入多块文件数据

  size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream)     将内存的数据原样写入到磁盘文件中

  返回值:实际写入的块数

fread:一次读取多块文件数据

  size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)                 将磁盘数据原样输入到内存(读到的数据不便于查看)

  返回值:实际读取到的块数(不足一块不计数,但是数据是读取的到)

  fwrite 和 fread 成对使用,效率高,但阅读性低 

fprintf:格式化写

  int fprintf(FILE *restrict stream, const char *restrict format, ...);      其实参数只要传   文件指针、格式字符串、输出列表

fscanf:格式化读

  int fscanf(FILE *restrict stream, const char *restrict format, ...);

  fprintf 和 fscanf 成对使用,效率低,但阅读性高 

 

标签:文件,stream,int,char,API,FILE,size
From: https://www.cnblogs.com/yachifeng/p/17227324.html

相关文章