一、创建文件
C++中可以使用fstream库来创建文件。该库中提供了两个类,fstream和ofstream,分别用于读写文件和写文件。fstream和ofstream都定义了open()函数,用来打开文件。如果文件不存在,则open函数会自动创建一个文件。
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream file("example.txt");
file.close();
return 0;
}
该示例中,使用ofstream类创建了一个名为example.txt的文件并关闭了文件。
二、写入文件
使用ofstream类的<<运算符可以将数据写入文件。例如:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream file("example.txt");
file << "Hello World!";
file.close();
return 0;
}
该示例中,将Hello World!写入了example.txt文件中。
三、读取文件
使用ifstream类可以读取文件中的数据。例如:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream file("example.txt");
string content;
getline(file, content);
cout << content << endl;
file.close();
return 0;
}
该示例中,使用ifstream类读取了example.txt文件中的数据,并输出到控制台中。
四、数据存储和管理
通过将数据存储到文件中,可以实现数据的持久性存储和管理。常见的存储格式包括文本格式和二进制格式。
对于文本格式,C++可以通过输出流将数据以文本方式写入到文件中,通过输入流可以从文件中读取数据。例如:
#include <iostream>
#include <fstream>
using namespace std;
struct Person {
string name;
int age;
};
int main() {
ofstream file("people.txt");
Person p1 = {"John", 25};
Person p2 = {"Mary", 30};
file << p1.name << " " << p1.age << endl;
file << p2.name << " " << p2.age <> name >> age) {
cout << "Name: " << name << ", Age: " << age << endl;
}
readFile.close();
return 0;
}
该示例中,将两个人的姓名和年龄以文本形式写入到文件中,并通过输入流将文件中的数据读取出来进行展示。
对于二进制格式,C++同样可以进行读写。例如:
#include <iostream>
#include <fstream>
using namespace std;
struct Person {
string name;
int age;
};
int main() {
ofstream file("people.bin", ios::out | ios::binary);
Person p1 = {"John", 25};
Person p2 = {"Mary", 30};
file.write((char*)&p1, sizeof(Person));
file.write((char*)&p2, sizeof(Person));
file.close();
Person pRead;
ifstream readFile("people.bin", ios::in | ios::binary);
while (readFile.read((char*)&pRead, sizeof(Person))) {
cout << "Name: " << pRead.name << ", Age: " << pRead.age << endl;
}
readFile.close();
return 0;
}
该示例中,使用二进制方式将两个人的姓名和年龄写入到文件中,并通过读取二进制文件将数据读取出来进行展示。
总结
C++提供了丰富的文件读写接口,可以灵活地进行文件的创建、数据的读写和管理。通过将数据存储到文件中,可以实现数据的持久性存储和管理,同时也方便后续的读取和处理。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/312832.html
微信扫一扫
支付宝扫一扫