• c++ 读写二进制文件


    学内容: 

    打开二进制文件

    写二进制文件

    读二进制文件

     

     

    一、打开二进制文件

        FILE *fopen( const char *filename, const char *mode );

        filename是要操作的文件名。 

    mode

    说明

    "wb"

    打开一个二进制文件,进行写入操作。如果文件不存在,则会建立一个新文件存在则清空内容。

    "ab"

    打开一个二进制文件,进行追加操作。如果文件不存在,则会建立一个新文件存在则追加内容。

    "rb"

    打开一个二进制文件,进行读取操作。

     

    二、写二进制文件

       size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );

    //count*size 是要写入文件的字节数

     buffer是缓冲区指针

     stream是文件指针(或者流指针)

    三、读二进制文件

       size_t fread( void *buffer, size_t size, size_t count, FILE *stream );

    //count*size 是要读取的字节数

    buffer是缓冲区指针

    stream是文件指针(或者流指针)

    int main(void)
    {   
        //未重定向的代码
        char num[256];
        FILE *f;
        stu_data stu10[10]={0};
        int i;
        time_t t1;
        struct tm * tm1;
        f=fopen("test.txt","rb");
         //fprintf(f,"ddddd");
         if (f==NULL) //if (!f)
         {
             //fprintf(stderr,"文件打开出错或者是文件不存在 
    ");//stdout
             perror("test.txt");
         }
         ////获取数据并写入文件
         //for (i=0;i<10;i++)
         //{
            // scanf("%s",&stu10[i].name );
            // time(&t1);
            // tm1=localtime(&t1);
            // //记录签到时间//记录学生 姓名和签到时间
            // stu10[i].stuTime.hour=tm1->tm_hour;
            //  stu10[i].stuTime.min=tm1->tm_min;
            //   stu10[i].stuTime.sec=tm1->tm_sec;
         //}
         ////写入到二进制文件里
         //fwrite(stu10,sizeof(stu_data),10,f);
         //读取二进制文件数据至stu10缓冲区
         fread(stu10,sizeof(stu_data),10,f);
         //显示数据
         for (i=0;i<10;i++)
         {
             printf("name=%s  ",stu10[i].name);
             printf("时间:%d-%d-%d 
    ",stu10[i].stuTime.hour,stu10[i].stuTime.min,stu10[i].stuTime.sec);
         }
         fclose(f);
        getchar();
        getchar();
        return 0;
    }
  • 相关阅读:
    git merge branch
    Notes on Large-scale Video Classification with Convolutional Neural Networks
    ubuntu shell编程笔记
    cpu-z for ubuntu 12.04 64bit : cpu-g
    Notation, First Definitions 转 http://brnt.eu/phd/node9.html
    textext for Inkscape
    read later
    Matlab远程调试 转
    Ubuntu中的在文件中查找和替换命令
    Ubuntu 下matlab 查看memory函数
  • 原文地址:https://www.cnblogs.com/whzym111/p/6149894.html
Copyright © 2020-2023  润新知