一、文本文件操作
1、写文件操作
代码
#include<fstream>
#include<iostream>
int main() {
ofstream outfile("Student.txt", ios::out);
if (!outfile) {
cout << "文件写入失败" << endl;
exit(0); //程序终止
}
cout << "文件写入成功";
outfile << "张三" << endl;
outfile.close();
}
运行结果
可以看到成功在记事本上建了一个Student的文本文件,并写下张三。
2、读文件操作
读取一个名为 Student.txt
的文件,并输出文件中的内容。
代码:
int main() {
ifstream infile("Student.txt", ios::in);
if (!infile.is_open()) {
cout << "文件打开失败";
exit(0);
}
string name;
// name 是用来存储从文件中读取的字符串数据的变量
cout << "文件打开成功"<<endl;
infile >>name;
cout << name;
}
运行结果:
二、二进制文件操作
1、写文件操作
代码:
#include<fstream>
#include<iostream>
class Student {
public:
char Stu_name[64];//最好不要用c++的string,会出现一些问题
int Stu_age;
};
int main() {
ofstream outfile("Student1.txt", ios::out|ios::binary);
if (!outfile) {
cout << "文件写入失败" << endl;
}
cout << "文件写入成功" << endl;
Student stu = { "张三",18 };
outfile.write((char*)&stu, sizeof(Student));
outfile.close();
}
运行结果:
2、读文件操作
代码:
#include<fstream>
#include<iostream>
class Student {
public:
char Stu_name[64];//最好不要用c++的string,会出现一些问题
int Stu_age;
};
int main() {
ifstream infile("Student1.txt", ios::in|ios::binary);
if (!infile) {
cout << "文件读取失败" << endl;
exit(0);
}
cout << "文件读取成功" << endl;
Student stu;
infile.read((char*)&stu, sizeof(Student));
cout << "姓名:" << stu.Stu_name << endl;
infile.close();
}
运行结果: