精华内容
下载资源
问答
  • 然后再将二进制文件还原并存入a3.txt文件。 具体代码如下: #include #include #include #define NSIZE 8 void print_2(int val2); /***********文本文件转二进制**********/ void Text2Bin(const char* sIn,...
  • 文件操作--二进制文件读入

    千次阅读 2016-04-09 13:32:21
    Problem A: 文件操作--二进制文件读入 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 88 Solved: 24 [Submit][Status][Web Board] Description 现有100名学生的姓名(name)、学号(num)、英语...

    Problem A: 文件操作--二进制文件读入

    Time Limit: 1 Sec   Memory Limit: 128 MB
    Submit: 88   Solved: 24
    [ Submit][ Status][ Web Board]

    Description

    现有100名学生的姓名(name)、学号(num)、英语(English)、数学(Math)、语文(Chinese)成绩存储在一个二进制文件student.dic中(姓名用char[20],学号和各科成绩用int存储),现要求将指定行数的学生信息输出,每条信息占一行。

    前5行学生信息为:
    akdh 13773 84 83 66
    fjka 30257 15 14 88
    sfhklas 61281 87 8 31
    hfu 38635 55 50 60
    iwehfk 92803 54 6 77

    Input

    要输出行号的整数序列,以0作为结束标志。

    Output

    输出学生信息,每个学生占一行

    Sample Input

    1 3 5 0

    Sample Output

    akdh 13773 84 83 66
    sfhklas 61281 87 8 31
    iwehfk 92803 54 6 77
    
     
    #include <iostream>
    #include<stdio.h>
    #include<stdlib.h>
    using namespace std;
    struct hehe{
    char a[20];
    int b,c,d,e;
    };
    int main()
    {
         int n;
         hehe iii[101];
         FILE * fin;
         if ((fin= fopen ( "student.dic" , "rb+" ))==NULL)
         {
             printf ( "打开失败\n" );
             exit (-1);
         }
             fread (&iii[1], sizeof ( struct  hehe),100,fin);
         while (~ scanf ( "%d" ,&n)&&n!=0)
         {
      printf ( "%s %d %d %d %d\n" ,iii[n].a,iii[n].b,iii[n].c,iii[n].d,iii[n].e);
         }
         return 0;
    }
    展开全文
  • Java读取和写入二进制文件的方法,应该说是一个基于二进制的大文件块,演示了如何自定义缓存区,并使用不具有缓冲功能的DataInputStream 和DataOutputStream 类来读写二进制的大文件块数据,运行效果请参见如下...
  • 二进制文件存储方式比较方便,文本小,保密效果好 定义一个数据结构并实现相关操作 使用QDataStream进行读写操做 数据结构 #include struct AccountInfo { // 数据 QString Account; QString LogPasswd; // 初始...
  • 浅谈C++文件二进制文件基本操作

    千次阅读 2019-02-25 22:41:31
    浅谈C++文件二进制文件基本操作 C++文件基本操作可分两类:对二进制文件操作和对文本文件操作,这里我主要介绍二进制文件的操作。 1)get()函数 :get函数有三种操作形式 file2.get(x) x=file2.get() file2.get(str1,...

    浅谈C++文件二进制文件基本操作
    C++文件基本操作可分两类:对二进制文件操作和对文本文件操作,这里我主要介绍二进制文件的操作。
    1)get()函数 :get函数有三种操作形式
    file2.get(x)
    x=file2.get()
    file2.get(str1,127,‘A’)
    2)put()函数
    3)为顺序读写数据特殊设计的成员函数:write 和 read
    write ( char * buffer, streamsize size );
    read ( char * buffer, streamsize size );
    这里 buffer 是一块内存的地址,用来存储或读出数据。参数size 是一个整数值,表示要从缓存(buffer)中读出或写入的字符数(size值很重要,因为二进制文件内容没有行的概念(’\n’),字节之间是紧挨着的)。
    4)随机读写文件
      通过移动文件读写指针,可在文件指定位置进行读写。
      seekg(绝对位置);      //绝对移动,    //输入流操作
      seekg(相对位置,参照位置);  //相对操作
      tellg();          //返回当前指针位置
      seekp(绝对位置);      //绝对移动,    //输出流操作
      seekp(相对位置,参照位置);  //相对操作   
      tellp();          //返回当前指针位置
      参照位置:
      ios::beg  = 0       //相对于文件头
      ios::cur  = 1       //相对于当前位置
      ios::end  = 2       //相对于文件尾
    总结:打开二进制文件时,如可直接定义输入输出而不是分开进行定义,如:
    fstream iofile(“stud.dat”,ios::in|ios::out|ios::binary|ios::trunc);
    其中若最初无stud.dat文件,则需添加ios::trunc来创建一个新文件;
    打开文件后,用if(!iofile){cerr<<“error!”<<endl; exit(1);}来判断文件是否打开成功;
    对二进制文件,普通字符用get()和Put()函数进行操作,对数据块,可以用write()和read()函数操作,使用<<,>>运算符只能进行文本文件的读写操作,用于二进制文件可能会产生错误。经常和read配合使用的函数是gcount(),用来获得实际读取的字节数。使用eof()函数检测文件是否读结束,使用gcount()获得实际读取的字节数。
    下面附上对二进制文件操作部分代码示例

    /*
     有个学生的数据,要求:
    把它们存到磁盘文件中;
    将磁盘文件中的第1,3,5个学生数据读入程序,并显示出来;
    将2第个学生的数据修改后存回磁盘文件中的原有位置。
    从磁盘文件读入修改后的个学生的数据并显示出来。*/
    #include<iostream>
    #include<fstream>
    using namespace std;
    
    struct student
    {
    	char name[20];
    	int age;
    	char id[20];
    	char sex[10];
    };
    int main()
    {
    	student stu1[5] = { {"张三",17,"2018212114","男"},
    					{"李四",19,"2018212115","男"},
    					{"王五",20,"2018212113","男"},
    					{"aaa",19,"2018212116","男"},
    					 {"nvzi",18,"2018212110","女"} };
    	fstream iofile("stud.dat", ios::in | ios::out | ios::binary | ios::trunc);
    	if (!iofile)
    	{
    		cerr << "error!" << endl;
    		exit(1);
    	}
    	int i;
    	for (i = 0; i < 5; i++)
    		iofile.write((char*)&stu1[i], sizeof(stu1[i]));
    	
    	student stu2[3];
    	for (i = 0; i < 5; i=i+2)
    	{
    		iofile.seekg(i * sizeof(stu2[i/2]), ios::beg);
    		iofile.read((char*)&stu2[i/2], sizeof(stu2[i/2]));
    	}
    	
    	for (i = 0; i < 5; i=i+2)
    	{
    		cout << "第" <<i+1<< "位同学:" << endl;
    		cout << stu2[i/2].name << "  "<< stu2[i/2].age << "  " <<stu2[i/2].id << "  "<<stu2[i/2].sex << endl;
    	}
    	stu1[1].age = 18;
    	strcpy(stu1[1].name, "goto");
    	strcpy(stu1[1].sex, "女");
    	iofile.seekp(sizeof(stu1[1]), ios::beg);
    	iofile.write((char*)&stu1[1], sizeof(stu1[1]));
    	iofile.seekg(0, ios::beg);
    	student stu3[5];
    	for (i = 0; i < 5; i++)
    		iofile.read((char*)&stu3[i], sizeof(stu3[i]));
    	for (i = 0; i < 5; i++)
    	{
    		cout << "第" << i + 1 << "位同学:" << endl;
    		cout << stu3[i].name << "  " << stu3[i].age << "  " << stu3[i].id << "  " << stu3[i].sex << endl;
    	}
    	iofile.close();
    	return 0;
    }
    

    参考文章:
    https://blog.csdn.net/hlylivy123/article/details/4458130
    https://blog.csdn.net/njuzg/article/details/42201595

    展开全文
  • YTU 2924: 文件操作--二进制文件读入

    千次阅读 2016-04-06 16:12:30
    2924: 文件操作--二进制文件读入 时间限制: 1 Sec 内存限制: 128 MB 提交: 58 解决: 20 题目描述 现有100名学生的姓名(name)、学号(num)、英语(English)、数学(Math)、语文(Chinese)成绩存储在一...

    2924: 文件操作--二进制文件读入

    时间限制: 1 Sec   内存限制: 128 MB
    提交: 58   解决: 20

    题目描述

    现有100名学生的姓名(name)、学号(num)、英语(English)、数学(Math)、语文(Chinese)成绩存储在一个二进制文件student.dic中(姓名用char[20],学号和各科成绩用int存储),现要求将指定行数的学生信息输出,每条信息占一行。

    前5行学生信息为:
    akdh 13773 84 83 66
    fjka 30257 15 14 88
    sfhklas 61281 87 8 31
    hfu 38635 55 50 60
    iwehfk 92803 54 6 77

    输入

    要输出行号的整数序列,以0作为结束标志。

    输出

    输出学生信息,每个学生占一行

    样例输入

    1 3 5 0

    样例输出

    akdh 13773 84 83 66
    sfhklas 61281 87 8 31
    iwehfk 92803 54 6 77
    

    迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

    #include <iostream>
    #include <fstream>
    #include <algorithm>
    #include <ctime>
    #include <stdlib.h>
    using namespace std;
    struct student
    {
        char name[20];
        int num,English,Math,Chinese;
    };
    int main()
    {
        ifstream infile("student.dic",ios::in|ios::binary);
        if(!infile)
        {
            cerr<<"open error!"<<endl;
            return -1;
        }
        int n;
        student stu;
        while((cin>>n)&&n!=0)
        {
            infile.seekg((n-1)*sizeof(stu),ios::beg);
            infile.read((char *)&stu,sizeof(stu));
            cout<<stu.name<<" "<<stu.num<<" "<<stu.English<<" "<<stu.Math<<" "<<stu.Chinese<<endl;
        }
        infile.close();
        return 0;
    }
    

    展开全文
  • C语言以二进制形式读入文件

    千次阅读 2018-03-16 21:06:41
    float MatR[9];FILE *infp; infp=fopen("MatR.bin","rb");fread(MatR,sizeof(float),9,infp);fclose(infp);

    float MatR[9];

    FILE *infp;  

    infp=fopen("MatR.bin","rb");

    fread(MatR,sizeof(float),9,infp);

    fclose(infp);


    展开全文
  • 将内容为十六进制的文本文件转换成二进制内容的bin文件
  • 已知一个只包含0和1的二进制数,长度不大于10,将其转换为十进制并输出。 输入描述 输入一个二进制整数n,其长度不大于10 输出描述 输出转换后的十进制数,占一行 样例输入 110 样例输出 6 solution:  很多学过C...
  • 图像文件是自己仿照mnist格式制作,每张图像大小为128*128 import struct import matplotlib.pyplot as plt import numpy as np #读入整个训练数据集图像 filename = 'train-images-idx3-ubyte' binfile = open...
  • C/C++读取文件操作包括二进制和文本文件
  • 用c语言将二进制执行文件读到缓冲区当中,并打印出PE结构信息
  • Python 读写文件二进制数据

    万次阅读 2020-02-18 17:08:13
    Python 读写文件二进制数据比 C/C++ 语言复杂得多。主要差别在于需要进行 bytes 类型和其它基础数据类型(比如 int/float)的转换。 转换工具在一般情况下都是使用 struct 库。 读出数据 在 open 函数中使用 rb ...
  • 彻底弄懂文件二进制数据的操作

    千次阅读 2019-06-11 01:26:40
    BlobBlob 对象表示一个不可变、原始数据的类文件对象。Blob 表示的不一定是JavaScript原生格式的数据。File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。要从其他非blob对象和数据构造一...
  • C++对二进制文件的读写操作

    千次阅读 2018-06-14 20:59:51
    因为项目需要,所以需要学习一下对二进制文件读写的操作,特此记录成长也跟大家总结分享一下较为全面的用法! 百度经验 二进制文件不是以ASCII形式存放数据的,它将内存中数据存储形式不加转换地传送到磁盘文件,...
  • Python读写文本文件和二进制文件的方法及注意事项

    万次阅读 多人点赞 2019-03-17 10:08:51
    文件有两种,文本文件和二进制文件。读写文本文件比较简单,也在这里简单说一下;读写二进制文件用到了struct库,涉及一些大端小端、字节填充等概念,稍微有点复杂。 文件打开关闭 在读写文件之前,需要打开文件,...
  • 读取文件内容并以二进制(16进制)显示.zip 读取文件内容以16进制编码显示
  • 谭浩强C++课后习题44——对二进制文件操作(1) 题目描述:有5个学生的数据,要求: (1)把它们存到磁盘文件中。 (2)将磁盘文件中的第1,3,5个学生数据读入程序,并显示出来。 (3)将第3个学生的数据修改后存...
  • 参考:https://blog.csdn.net/Machey__/article/details/78535956C++一次将整个文件采用二进制方式读入内存,解决部分文本文件末尾乱码问题。注意:此方式只能读取文本类的文件,我试过读取winrar,.exe文件都不行。...
  • 文本文件和二进制文件的输入输出

    千次阅读 2019-09-25 12:34:15
    二进制文件 1.文本文件 (1)使用Scanner读取文件的内容输出到程序 public static void main(String[] args) throws IOException{ File file=new File("D:\\相片\\新建文本文档.txt"); try( Scanner ...
  • Problem A: 文件操作--二进制文件读入

    千次阅读 2016-06-25 12:27:21
    Problem A: 文件操作--二进制文件读入 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 589 Solved: 165 [Submit][Status][Web Board] Description 现有100名学生的姓名(name)、学号(num)、英语...
  • 文章目录一、文件类型、常用操作1.打开文件1.1open函数1.2参数:模式 mode2.写入数据3.读取数据Reference 一、文件类型 、常用操作 1.打开文件 1.1open函数 open(file, mode='r', buffering=-1, encoding=...
  • 文本文件是一种计算机文件,它是一种典型的顺序文件,其文件的逻辑结构又属于流式文件。 特别的是,文本文件是指以ASCII码方式(也称文本方式)存储的文件,更确切地说,英文、数字等字符存储的是ASCII码,而汉字存储...
  • 不同的二进制文件需要不同的软件来打开,例如BMP文件,需要一个读图的软件来打开才能看到里面保存的图像,MP3文件需要一个播放器软件才能听到里面的音频。而文本文件只需要记事本就可以打开查看里面的内容。 2 ...
  • C语言读写二进制文件

    万次阅读 2017-07-20 14:35:04
    可以这么说,除了文本文件以外的所有文件都是二进制文件二进制文件相对于文本文件更容易修改。...对二进制文件进行操作主要用到fopen,fread,fwrite,fseek等函数。 完整代码: #include #include
  • 2.文件类型有文本文件(文件以文本的ASCLL码形式存储在计算机中)和二进制文件(文件以文本的二进制形式存储在计算机中,用户一般直接读不懂他们)。 3.C++中对文件操作需要包含头文件<fs...
  • R语言开发之二进制文件读写操作

    千次阅读 2018-09-19 09:39:39
    二进制文件是一个文件,其中包含仅以位和字节形式存储的信息(0和1),它们是不可读的,因为其中的字节转换为包含许多其他不可打印字符的字符和符号,随便我们尝试使用任何文本编辑器读取二进制文件将显示为类似Ø和ð...
  • 亲测可用,非常详细,看了后肯定会有所顿悟,值得拥有!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,102
精华内容 34,440
关键字:

文件操作二进制文件读入