今天练习了c++文件读写操作,干货代码如下:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
void test01() {
//2.创建流对象
ofstream ofs;
//3.打开文件
ofs.open("test01.txt", ios::out);
cout << "请书写你要保存的数据:" << endl;
//4.键盘输入&写入数据
string text;
cin >> text ;
ofs << text << endl;
ofs << "我爱C++" << endl;
ofs << "我爱C++" << endl;
ofs << "我爱C++" << endl;
if (ofs.is_open())
{
cout << "写入成功" << endl;
}
//5.关闭文件
ofs.close();
}
void test02() {
//2.创建流对象
ifstream ifs;
//3.打开文件
ifs.open("test01.txt", ios::in);
if (!ifs.is_open())
{
cout << "文件打开失败" << endl;
return;
}
//4.读取数据
char buf[1024] = { 0 };
while (ifs>>buf)
{
cout << buf << endl;
}
cout << "读取成功" << endl;
//5.关闭文件
ifs.close();
}
class person {
public:
char m_Name[64];
int m_Age;
};
//二进制读操作
void test03() {
ofstream ofs("person.txt", ios::out | ios::binary);
person p = {"张三",18 };
ofs.write((const char*)&p, sizeof(p));
ofs.close();
}
//二进制写操作
void test04() {
ifstream ifs;
ifs.open("person.txt", ios::out | ios::binary);
if (!ifs.is_open())
{
cout << "文件读取失败" << endl;
}
person p;
ifs.read((char*)&p, sizeof(p));
cout << "姓名" << p.m_Name << "年龄" << p.m_Age << endl;
ifs.close();
}
int main() {
test01();
test02();
test03();
test04();
system("pause");
return 0;
}