|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
writeFile() 函数里面, 给类Person初始化,直接Person p = { "zhnag san" ,18 } ,但是类 的定义的地方,都没有构造函数,只是定义了俩个变量,
这样传参也能准确无误的传到对应的参数。。。。?;
- //************二进制文件
- #include <stdio.h>
- #include<iostream>
- #include<cstring>
- #include<cstdio>
- #include<string>
- #include<fstream>
- using namespace std;
- class Person
- {
- public:
- char m_name[64];
- int m_age;
- };
- void writeFile()
- {
- //1.包含头文件
- //2.创建流对象
- ofstream ofs;
- //3.打开文件
- ofs.open("person.txt", ios::out | ios::binary);
- //4.写文件
- Person p = { "zhnag san" ,18 };
- ofs.write((const char*)&p, sizeof(Person));
- //关闭文件
- ofs.close();
- }
- void readFile()
- {
- //1.包含头文件
- //2.创建流对象
- ifstream ifs;
- //3.打开文件
- ifs.open("person.txt", ios::in | ios::binary);
- if (!ifs.is_open())
- {
- cout << " failed " << endl;
- }
- //4.读文件
- Person p;
- ifs.read((char*)&p, sizeof(p));
- cout << "name:" << p.m_name << " age : " << p.m_age << endl;
- //关闭文件
- ifs.close();
- }
- int main()
- {
- writeFile();
- readFile();
- return 0;
- }
复制代码
参数的顺序可以随意,先写 name 和先写 age 都可以
还有,你确定是 char name 吗?
难道不是 char *name 吗?
还有,你确定是 char *name 吗?
确定不是 const char *name 这个?
char m_name[64]; 这个你确定不是 const char *m_name 这个?
|
|