📅  最后修改于: 2023-12-03 15:07:52.399000             🧑  作者: Mango
C++是一种类面向对象的编程语言。在C++中,我们可以使用文件流来读取和写入文件中的数据。本文介绍如何在C++中从文件读取类对象和向文件写入类对象。
在C++中,我们可以使用文件流fstream
来读取文件中的数据。假设我们有一个类Student
,它有两个私有成员变量name
和score
,我们可以通过以下方式从文件中读取Student
对象:
#include <fstream>
#include <iostream>
class Student {
public:
std::string name;
int score;
void print() {
std::cout << name << ": " << score << std::endl;
}
};
int main() {
std::ifstream file;
file.open("students.txt");
while (!file.eof()) {
Student s;
file >> s.name >> s.score;
s.print();
}
file.close();
return 0;
}
在上面的代码中,我们首先打开了一个名为students.txt
的文件,并使用while
循环读取文件中的所有数据。在每次循环中,我们定义一个Student
对象s
,然后使用文件流的operator>>
运算符将文件中的数据读取到s
对象中,并输出s
对象的信息。循环结束后,我们关闭文件。
在C++中,我们可以使用文件流fstream
来写入数据到文件中。假设我们有一个类Student
,我们可以通过以下方式向文件中写入Student
对象:
#include <fstream>
class Student {
public:
std::string name;
int score;
};
int main() {
std::ofstream file;
file.open("students.txt");
Student s1;
s1.name = "Alice";
s1.score = 95;
Student s2;
s2.name = "Bob";
s2.score = 88;
file << s1.name << " " << s1.score << std::endl;
file << s2.name << " " << s2.score << std::endl;
file.close();
return 0;
}
在上面的代码中,我们首先打开了一个名为students.txt
的文件,并定义了两个Student
对象s1
和s2
。然后,我们将s1
和s2
的信息分别写入文件中,并通过使用std::endl
来添加换行符。最后,我们关闭文件。
通过使用文件流fstream
,我们能够在C++中从文件读取类对象和向文件写入类对象。在读取文件时,我们使用operator>>
运算符将文件中的数据读取到类对象中;在写入文件时,我们使用operator<<
运算符将类对象写入文件中。