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);
    }
     
  • 相关阅读:
    vue学习笔记之v-if
    vue学习笔记之属性和方法
    vue学习笔记之v-for与-repeat
    王阳明心学
    读《铁血并购》
    心理测试:DISC性格测试(完整版)
    关于旅行
    [转载]win32 计时器使用
    [转]C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件
    [转]C#读写TEXT文件
  • 原文地址:https://www.cnblogs.com/chen-farsight/p/6024694.html
Copyright © 2011-2022 走看看