定义函数createFile创建一个文本文件person.txt,将n个Person对象写入文件,再定义函数readFile将文件中的信息读出显示在屏幕上。
时间: 2024-03-03 18:48:25 浏览: 69
好的,下面是这两个函数的代码实现:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class Person {
public:
string name;
int age;
string gender;
Person(string name, int age, string gender) {
this->name = name;
this->age = age;
this->gender = gender;
}
};
void createFile(int n) {
ofstream fout("person.txt"); // 创建输出文件流对象
if (!fout) { // 判断文件是否打开成功
cout << "文件打开失败!" << endl;
return;
}
for (int i = 0; i < n; i++) { // 写入n个Person对象
string name, gender;
int age;
cout << "请输入第" << i+1 << "个人的姓名、年龄、性别(用空格隔开):" << endl;
cin >> name >> age >> gender;
Person p(name, age, gender);
fout << p.name << " " << p.age << " " << p.gender << endl; // 写入文件
}
fout.close(); // 关闭文件
cout << "已成功将" << n << "个Person对象写入文件person.txt" << endl;
}
void readFile() {
ifstream fin("person.txt"); // 创建输入文件流对象
if (!fin) { // 判断文件是否打开成功
cout << "文件打开失败!" << endl;
return;
}
cout << "person.txt文件中的信息如下:" << endl;
string name, gender;
int age;
while (fin >> name >> age >> gender) { // 读取文件中的信息
cout << "姓名:" << name << ",年龄:" << age << ",性别:" << gender << endl;
}
fin.close(); // 关闭文件
}
int main() {
int n;
cout << "请输入要写入文件的Person对象个数:" << endl;
cin >> n;
createFile(n);
readFile();
return 0;
}
```
以上代码实现了创建一个文本文件person.txt,将n个Person对象写入文件,并读取文件中的信息并显示在屏幕上。
阅读全文