首页 > 其他分享 >实验项目名称:输入输出流

实验项目名称:输入输出流

时间:2023-05-17 11:16:15浏览次数:36  
标签:文件 Weight int Age 输入输出 Dog 项目名称 实验 dog1

实验项目名称:输入输出流

一、实验目的

  1. 掌握文本文件和二进制文件的基本访问方法;
  2. 了解一般I/O流和文件流的关系;了解文件与文件流的关系;
  3. 了解文件系统的概念,包括文件指针和关于文件的操作;
  4. 掌握文件类的定义和相关操作的定义、使用方法;
  5. 掌握利用常用函数进行文件的打开、关闭、读写、定位等操作。  

二、实验内容

  定义一个Dog类,包括体重和年龄两个数据成员及其成员函数,声明一个实例dog1,体重5,年龄10,使用I/O流把dog1的状态写入磁盘文件。

  再声明一个实例dog2,通过读取文件dog1的状态赋给dog2。分别用文本方式和二进制方式操作文件。

三、实验代码

文本文件:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 class Dog {
 5 public:
 6     Dog (int weight = 0, int age = 0) : Weight (weight), Age (age) {}
 7     int getW() {
 8         return Weight;
 9     }
10     int getA() {
11         return Age;
12     }
13     int Weight;
14     int Age;
15 };
16 
17 int main () {
18     Dog dog1 (5, 10);
19 
20     fstream ofs ("work1.txt", ios::out);
21     ofs << dog1.getW() << endl << dog1.getA() << endl;
22     ofs.close();
23 
24     int w, a;
25     fstream ifs ("work1.txt", ios::in);
26     ifs >> w >> a;
27     ifs.close();
28 
29     Dog dog2 (w, a);
30 
31     cout << dog1.Weight << ' ' << dog1.Age << endl;
32     cout << dog2.Weight << ' ' << dog2.Age << endl;
33 
34     return 0;
35 }

 

二进制文件:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 class Dog {
 5 public:
 6     Dog (int weight = 0, int age = 0) : Weight (weight), Age (age) {}
 7     int getW() {
 8         return Weight;
 9     }
10     int getA() {
11         return Age;
12     }
13     int Weight;
14     int Age;
15 };
16 
17 int main () {
18     Dog dog1 (5, 10);
19 
20     fstream ofs ("work2.txt", ios::out | ios::binary);
21     ofs .write ((const char *)&dog1, sizeof (Dog));
22     ofs.close();
23 
24     int w = 0, a = 0;
25     Dog dog2 (w, a);
26     fstream ifs ("work2.txt", ios::in | ios::binary);
27     ifs.read ((char *)&dog2, sizeof (Dog));
28     ifs.close();
29 
30     cout << dog1.Weight << ' ' << dog1.Age << endl;
31     cout << dog2.Weight << ' ' << dog2.Age << endl;
32 
33     return 0;
34 }

 

四、测试截图

文本文件:

 

二进制文件:

 

五、心得体会

  掌握了简单的文件操作,对文件以文本形式和二进制形式进行读和写,简单认识了fstream流。

标签:文件,Weight,int,Age,输入输出,Dog,项目名称,实验,dog1
From: https://www.cnblogs.com/hui711/p/17407843.html

相关文章

  • 面向对象程序设计 之 文件输入输出流
    石家庄铁道大学实验报告课程名称面向对象程序设计班级 姓名 学号 实验日期2023.5.16评分100 实验项目名称:输入输出流一、实验目的掌握文本文件和二进制文件的基本访问方法;了解一般I/O流和文件流的关系;了解文件与......
  • 实验三 Web数据库程序设计
     实  验  报  告  课程名称:  WEB应用开发技术  任课教师:   雷 宇         实验日期: 2023.5.16          班   级:     信2105-2班                                    ......
  • 实验十 7279阵列式键盘实验
    实验十7279阵列式键盘实验实验目的1、掌握八段数码管硬件线路原理,掌握用HD7279A芯片实现显示的编程方法。2、熟悉键盘的工作原理,掌握用HD7279A芯片实现键盘扫描程序设计方法。实验内容HD7279A是一片具有串行接口的,可同时驱动8位共阴极数码管(或64只独立LED)的智能显示驱动芯......
  • 5-15打卡-输入输出流
    #include<iostream>#include<iomanip>//包含格式输出所需的头文件usingnamespacestd;intmain(){//输入一个整数,以八进制形式输入intn;cout<<"请输入一个整数(八进制):";cin>>oct>>n;//以八进制读入整数n//分别以十进制和十六进制显......
  • 5-16打卡-输入输出流
    #include<iostream>#include<fstream>//包含文件操作所需的头文件#include<iomanip>//包含格式输出所需的头文件usingnamespacestd;intmain(){charfilename[20];//定义一个字符数组存储文件名cout<<"请输入OFF文件的名称:"<<endl;cin>&g......
  • 5-16-pta实验-文件的输入输出
    #include<bits/stdc++.h>usingnamespacestd;classDog{ private: intweight; intold; public: Dog(inta,intb):weight(a),old(b){}; intWeight(){ returnweight; } intOld() { returnold; } ~Dog(){}; };intmain(){Dogdog1(5,10);fst......
  • 《编译原理》实验二:自上而下语法分析
    本实验采用预测分析法,对PL/0语言的算术运算进行语法分析。因为我所见到的互联网上的语法分析程序大多使用的递归下降法,所以本程序完全由我个人独立完成,代码为C++98,因此可能较丑陋(尤其是预测分析表部分),且不能保证完全正确,还请见谅 ┗(T﹏T)┛一.设计思想1.文法(1)EBNF<表达式>......
  • c++输入输出流对象
    实验项目名称:输入输出流一、实验目的掌握文本文件和二进制文件的基本访问方法;了解一般I/O流和文件流的关系;了解文件与文件流的关系;了解文件系统的概念,包括文件指针和关于文件的操作;掌握文件类的定义和相关操作的定义、使用方法;掌握利用常用函数进行文件的打开、关闭、读写......
  • 易基因:多组学关联分析及组学分子实验验证方法(表观组+转录组+微生物组)|干货系列
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。生物过程具有复杂性和整体性,单组学数据难以系统全面解析复杂生理过程的分子调控机制。而多组学(Multi-omics)联合分析可同时实现从“因”和“果”两个层面研究生物学问题,并对其相关性进行验证。高通量技术的发展,通过对......
  • Linux vsftpd服务虚拟用户登陆实验
    转至:https://zhuanlan.zhihu.com/p/354577768工具:win10系统、CentOs6.5实操:第一步:基础环境搭建:设置服务器IP地址为192.168.10.10,防护墙、内核机制关闭[root@bogon~]#vim/etc/sysconfig/network-scripts/ifcfg-eth0IP:192.168.10.10[root@bogon~]#servicenetworkreloa......