首页 > 编程语言 >23-5-15--c++文件基本操作--dog

23-5-15--c++文件基本操作--dog

时间:2023-05-15 20:56:18浏览次数:54  
标签:ifile 15 -- ios Dog dog 基本操作 ofile dog1

定义一个Dog类,包括体重和年龄两个数据成员及其成员函数,声明一个实例dog1,体重5,年龄10,使用I/O流把dog1的状态写入磁盘文件。再声明一个实例dog2,通过读取文件dog1的状态赋给dog2。分别用文本方式和二进制方式操作文件。

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

class Dog{
public:
double weight,age;
Dog()=default;
Dog(double _weight,double _age){
weight=_weight;
age=_age;
}
};

int main(){
//二进制方式
Dog dog1(5,10);
ofstream ofile;
ofile.open("dog",ios::out|ios::binary);
ofile.write((const char*)&dog1,sizeof(dog1));
ofile.close() ;
ifstream ifile;
ifile.open("dog",ios::in|ios::binary);
Dog dog2;
ifile.read((char*)&dog2,sizeof(dog2));
cout<<"binarymode: weight:"<<dog2.weight <<" age:"<<dog2.age<<endl ;
ofile.close() ;

//文本方式
ofile.open("dog.txt",ios::out);
ofile<<dog1.weight <<endl<<dog1.age<<endl ;
ofile.close() ;

ifile.open("dog.txt",ios::in);

string buf;
double v[2];
int cnt=0;
while(getline(ifile,buf))
{
v[cnt]=atof(buf.c_str() );
cnt++;
}
Dog dog3(v[0],v[1]);
cout<<"Textmode: weight:"<<dog2.weight <<" age:"<<dog2.age ;
ofile.close() ;
}

运行结果:

 

 

标签:ifile,15,--,ios,Dog,dog,基本操作,ofile,dog1
From: https://www.cnblogs.com/daniel350-wang/p/17403084.html

相关文章

  • PTA练习题
    定义一个Dog类,包括体重和年龄两个数据成员及其成员函数,声明一个实例dog1,体重5,年龄10,使用I/O流把dog1的状态写入磁盘文件。再声明一个实例dog2,通过读取文件dog1的状态赋给dog2。分别用文本方式和二进制方式操作文件。1#include<iostream>2#include<fstream>3usingname......
  • 前端-动态视觉设计案例收集
    1、微软设计团队最新YourPhone动态视觉设计2、当微软设计师去了谷歌后......
  • 群晖硬盘容量计算器,硬盘组raid或者SHR还有多少可用空间
    群晖硬盘容量计算器 点我去计算:RAID容量计算器|群晖科技SynologyInc.  ......
  • RFR随机森林回归预测MATLAB代码 代码注释清楚。 main为主程序,可以
    RFR随机森林回归预测MATLAB代码代码注释清楚。main为主程序,可以读取EXCEL数据。很方便,初学者容易上手。ID:1624655510470473......
  • 输出所有小于100的质数
    #include<stdio.h>intmain(){inti=0;for(i=1;i<=100;i++){intj=0;for(j=2;j<=i;j++){if(i%j==0){break;}}if(i==j){......
  • 双向BiGRU做多输入单输出预测模型,直接替换数据就可以用。 程序
    双向BiGRU做多输入单输出预测模型,直接替换数据就可以用。程序语言是matlab,需求最低版本为2020及以上。程序可以出真实值和预测值对比图,线性拟合图,可打印多种评价指标。PS:以下效果图为测试数据的效果图,主要目的是为了显示程序运行可以出的结果图,具体预测效果以个人的具体数据为准......
  • 双向BiGRU做单输入单输出时间序列预测模型,直接替换数据就可以用。
    双向BiGRU做单输入单输出时间序列预测模型,直接替换数据就可以用。程序语言是matlab,需求最低版本为2020及以上。程序可以出真实值和预测值对比图,线性拟合图,可打印多种评价指标。PS:以下效果图为测试数据的效果图,主要目的是为了显示程序运行可以出的结果图,具体预测效果以个人的具体......
  • 力扣---1448. 统计二叉树中好节点的数目
    给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。「好节点」X定义为:从根到该节点X所经过的节点中,没有任何节点的值大于X的值。 示例1:输入:root=[3,1,4,3,null,1,5]输出:4解释:图中蓝色节点为好节点。根节点(3)永远是个好节点。节点4->(3,4)是路径中......
  • 舍罕王的失算
    一、问题描述相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋棋盘说:陛下,请您赏给我一些麦子吧。就在棋盘的第1格中放1粒,第2格放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上64格,......
  • 分数阶导数的基本概念与介绍
    重要参考华东师范大学潘建瑜教授第一讲分数阶微分方程维基百科分数微积分连接成功-知乎慢慢推导柯西重复积分公式维基百科Gamma函数以下是我的整理一、学习的思路我们熟知的是整数阶的微积分定义,分数阶微积分的定义一般就是由已知的定义推导而来的。所......