zoukankan      html  css  js  c++  java
  • fread(),fwrite() 读/写流

    C 库函数 - fread()

    描述

    C 库函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定流 stream 读取数据到 ptr 所指向的数组中。

    声明

    下面是 fread() 函数的声明。

    size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

    参数

    • ptr -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。
    • size -- 这是要读取的每个元素的大小,以字节为单位。
    • nmemb -- 这是元素的个数,每个元素的大小为 size 字节。
    • stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。

    返回值

    成功读取的元素总数会以 size_t 对象返回,size_t 对象是一个整型数据类型。如果总数与 nmemb 参数不同,则可能发生了一个错误或者到达了文件末尾。

    实例

    下面的实例演示了 fread() 函数的用法。

    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
       FILE *fp;
       char c[] = "This is new world";
       char buffer[20];
    
       /* 打开文件用于读写 */
       fp = fopen("file.txt", "w+");
    
       /* 写入数据到文件 */
       fwrite(c, strlen(c) + 1, 1, fp);
    
       /* 查找文件的开头 */
       fseek(fp, SEEK_SET, 0);
    
       /* 读取并显示数据 */
       fread(buffer, strlen(c)+1, 1, fp);
       printf("%s
    ", buffer);
       fclose(fp);
       
       return(0);
    }

    让我们编译并运行上面的程序,这将创建一个文件 file.txt,然后写入内容 this is w3cschool。接下来我们使用 fseek() 函数来重置写指针到文件的开头,文件内容如下所示:

    This is new world

    C 库函数 - fwrite()

    描述

    C 库函数 size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)ptr 所指向的数组中的数据写入到给定流 stream 中。

    声明

    下面是 fwrite() 函数的声明。

    size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

    参数

    • ptr -- 这是指向要被写入的元素数组的指针。
    • size -- 这是要被写入的每个元素的大小,以字节为单位。
    • nmemb -- 这是元素的个数,每个元素的大小为 size 字节。
    • stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输出流。

    返回值

    如果成功,该函数返回一个 size_t 对象,表示元素的总数,该对象时一个整型数据类型。如果该数字与 nmemb 参数不同,则会显示一个错误。

    实例

    下面的实例演示了 fwrite() 函数的用法。

    #include<stdio.h>
    
    int main ()
    {
       FILE *fp;
       char str[] = "This is new world.cc";
    
       fp = fopen( "file.txt" , "w" );
       fwrite(str , 1 , sizeof(str) , fp );
    
       fclose(fp);
      
       return(0);
    }

    让我们编译并运行上面的程序,这将创建一个文件 file.txt,它的内容如下:

    This is new world.cc

    现在让我们使用下面的程序查看上面文件的内容:

    #include <stdio.h>
    
    int main ()
    {
       FILE *fp;
       int c;
    
       fp = fopen("file.txt","r");
       while(1)
       {
          c = fgetc(fp);
          if( feof(fp) )
          {
              break ;
          }
          printf("%c", c);
       }
       fclose(fp);
       return(0);
    }
     
  • 相关阅读:
    sql 生成开始日期到结束日期相差天数或日期
    自定义表做存储过程变量
    [转]html 移动互联网终端的javascript touch事件,touchstart, touchend, touchmove
    [转]JQuery.Ajax之错误调试帮助信息
    解决IOS safari在input focus弹出输入法时不支持position fixed的问题
    查看 存储过程的执行时间
    ListView
    android矩阵详解
    跳出圈子 “莫忘初心,方得始终”
    Eclipse使用
  • 原文地址:https://www.cnblogs.com/chen-farsight/p/6024694.html
Copyright © 2011-2022 走看看