首页 > 编程语言 >c++结构体写入文档

c++结构体写入文档

时间:2023-05-06 21:11:20浏览次数:37  
标签:20 cout int 写入 c++ char 文档 student include

//#include<iostream>
//#include<fstream>
//using namespace std;
// struct student
// {
// char name[20];
// char sex[20];
// int age;
// };
// int main()
// {
// const int num = 2;
// student stu[num];
// string path = "1.txt";
// fstream fout(path, ios::out | ios::app);
//
// if (fout.fail())
// {
// cout << "文件打开失败" << endl;
// exit(0);
// }
//
// for (int i = 0; i < num; i++)
// {
// cout << "姓名:";
// cin >> stu[i].name;
// cout << "性别:";
// cin >> stu[i].sex;
// cout << "年龄:";
// cin >> stu[i].age;
//
// fout << stu[i].name << " " << stu[i].sex << " " << stu[i].age << endl;
// }
//
// fout.close();
// }

第一种不会出现乱码
//#include <fstream>
//#include<iostream>
//using namespace std;
//struct student {
// char name[20];
// int age;
// float score;
//};
//int main() {
// ofstream ofs("studenms.txt", ios_base::_Noreplace);
// if (!ofs) {
// cerr<< "open file students.dat failed" << endl;
// return -1;
// }
//
// struct student s1 = { "Tom", 18, 85.5 };
// struct student s2 = { "Jerry", 19, 78.9 };
//
// ofs.write((char*)&s1, sizeof(s1));
// ofs.write((char*)&s2, sizeof(s2));
//
// ofs.close();
// return 0;
//}

//#include<iostream>
//#include<fstream>
//using namespace std;
//struct student
//{
// char name[20];
// int num;
// int age;
// char sex;
//};
//int main()
//{
// student stud[3] = { "Li",1001,18,'f',"Fun",1002,19,'m',"Zhao",1003,20,'m' };
// ofstream outfile;
// outfile.open("stuhud.txt", ios::binary);
// if (!outfile)
// {
// cout << "error";
// abort();
// }
// for(int i=0;i<3;i++)
// {
// outfile.write((char*)&stud[i], sizeof(stud[i]));
// }
// outfile.close();
// return 0;
//}

打开后不能直接查看

将结构体写入文件,文件中的数据是以二进制形式存储的,这些二进制数据不能直接被文本编辑器解释为字符,所以在用文本编辑器打开文件时就会出现乱码。

如果需要查看文件中的数据,可以使用一些专门的工具,例如hexdump或od等命令行工具,或者使用Windows系统中的十六进制编辑器。这些工具可以以二进制的形式呈现文件中的数据,使得我们可以更加直观地查看和分析文件中的内容。

标签:20,cout,int,写入,c++,char,文档,student,include
From: https://www.cnblogs.com/zhaoqianwan/p/17378465.html

相关文章

  • C++17 解构绑定
    在python中,加入我们有一个函数返回了两个数值,如:defgetData(x,y): returnx,y那么我们在使用这个函数时只需要使用两个新变量去接收函数返回值就可以:a,b=getData(4,5)但是对于C++来说就没有这么方便了,比如一个函数要返回多个数通常会把他们封装成一个pair或者vector容器......
  • C/C++手机库存管理系统[2023-05-06]
    C/C++手机库存管理系统[2023-05-06]1、 设计并实习一个手机库存管理系统。要求实现至少以下功能:产品录入产品查询产品增加产品删除产品入库产品出库排序退出其中具体功能如下:产品录入:产品初始化。录入产品编号,产品品牌,产品型号,产品数量,产品价格。例如: 1001,华为,p30,10,5......
  • C/C++猜数字游戏[2023-05-06]
    C/C++猜数字游戏[2023-05-06]题目8:猜数字游戏软件题目描述设计一个猜数字游戏软件,该程序具有以下功能:(1)游戏区:玩家在此开始游戏,系统给出玩家每次猜数字后的提示,包括数值、位置均正确的个数,以及数值正确但位置不正确的个数。(2)刷新排行榜:当玩家成功完成一轮猜数字游戏后......
  • 【C++文件信息(空格信息)的读、写、追加、截断】
    文件数据类型:ofstream:创建文件+写入信息ifstream:读取信息fstream:创建文件+写入信息+读取信息文件打开模式:ios::app(追加)、ios::out(写)、ios::in(读)ios::ate(定位末尾)、ios::trunc(截断覆盖)打开文件:open(“文件名”,打开模式)关闭文件:close()写入文件:使用流插入运算......
  • C/C++活动管理程序[2023-05-06]
    C/C++活动管理程序[2023-05-06]设计一个活动管理程序,该程序具有以下功能:(1)多用管理,用户登录:输入用户名和密码,密码正确才允许登录。(2)可以创建活动,设定活动的内容,活动的人数,时间,要求等;(3)登录的所有用户可以查看当前所有正在征集的活动,并可以选择参加;(4)活动的创建者,可......
  • c++ 保留小数示范
    #include<iostream>#include<iomanip>//必要头文件usingnamespacestd;intmain(intargc,char**argv){ doublea,b,c; doublen; cin>>a>>b>>c; n=(a/b)*c; cout<<fixed<<setprecision(6)<<n<<endl; return......
  • 提取文档的内容,返回每个单词处出现的次数
    #统计文档中每个字出现的次数word_count={}withopen("D:\Desktop\wde.txt")asfin:#打开文档forlineinfin:#提取文档的内容line=line[:-1]#去掉最后的换行符w=line.split()#单词之间是空格forwordinw:#提取文档内容ifwo......
  • 掌握C++中static关键字的多种使用场景
    static是什么在最开始C中引入了static关键字可以用于修饰变量和函数,后来由于C++引入了class的概念,现在static可以修饰的对象分为以下5种:成员变量,成员函数,普通函数,局部变量,全局变量static的作用修饰成员变量static修饰成员变量之后,该变量会属于该类,而不是某一个该类的对象。......
  • 深入理解C++右值引用和移动语义:全面解析
    C++11引入了右值引用,它也是C++11最重要的新特性之一。原因在于它解决了C++的一大历史遗留问题,即消除了很多场景下的不必要的额外开销。即使你的代码中并不直接使用右值引用,也可以通过标准库,间接地从这一特性中收益。为了更好地理解该特性带来的优化,以及帮助我们实现更高效的程序,......
  • 数据湖Iceberg-FlinkSQL-kafka类型表数据无法成功写入(6)
    数据湖Iceberg-简介(1)数据湖Iceberg-存储结构(2)数据湖Iceberg-Hive集成Iceberg(3)数据湖Iceberg-SparkSQL集成(4)数据湖Iceberg-FlinkSQL集成(5)数据湖Iceberg-FlinkSQL-kafka类型表数据无法成功写入(6)数据湖Iceberg-FlinkDataFrame集成(7)数据湖Iceberg-FlinkSQL-kafka类型表......