目录
1、写文件
#include<iostream>
using namespace std;
#include<fstream>//头文件包含
//文本文件 写文件
void test01()
{
//1、头文件包含 fstream
//2、创建流对象
ofstream ofs;
//3、指定打开方式
ofs.open("test.txt", ios::out);
//4、写内容
ofs << "姓名:张三 " << endl;
ofs << "性别:男 " << endl;
ofs << "年龄:18岁 " << endl;
//5、关闭文件
ofs.close();
}
int main()
{
test01();
system("pause");
return 0;
}
2、读文件
#include<iostream>
using namespace std;
#include<string>
#include<fstream>//头文件包含
//文本文件 读文件
void test01()
{
//1、头文件包含 fstream
//2、创建流对象
ifstream ifs;
//3、打开文件并判断文件是否打开成功
ifs.open("test.txt", ios::in);
if (!ifs.is_open())
{
cout << "文件打开失败" << endl;
return;//若打开失败,return直接结束,不用进行下面代码
}
//4、读数据
//第一种
//char buf[1024] = { 0 };//初始化字符数组
//while ( ifs>>buf )//读数据到buf中去
//{
// cout << buf << endl;
//}
//第二种
//char buf[1024] = { 0 };
//while ( ifs.getline( buf,sizeof(buf) ))//每读一行getline()换一次行
//{
// cout << buf << endl;
//}
//第三种
//string buf;
//while ( getline( ifs,buf ) )
//{
// cout << buf << endl;
//}
//第四种
char c;
while ( ( c = (ifs.get())) != EOF)//get每次只读一个字符 EOF(只要没读到文件尾,就一直读) end of file
{
cout << c;
}
//5、关闭文件
ifs.close();
}
int main()
{
test01();
system("pause");
return 0;
}
3、二进制文件(写文件)
#include<iostream>
using namespace std;
#include<string>
#include<fstream>//头文件包含
//二进制文件 写文件
class Person
{
public:
char m_Name[64];//姓名
int m_Age;//年龄
};
void test01()
{
//1、包含头文件
//2、创建流对象
ofstream ofs("person.txt", ios::out | ios::binary);
//3、打开头文件
//ofs.open("person.txt", ios::out | ios::binary);
//4、写文件
Person p = { "张三",18 };
ofs.write((const char*)&p,sizeof(Person));
//5、关闭文件
ofs.close();
}
int main()
{
test01();
system("pause");
return 0;
}
4、二进制文件(读文件)
#include<iostream>
using namespace std;
#include<string>
#include<fstream>//头文件包含
//二进制文件 读文件
class Person
{
public:
char m_Name[64];//姓名
int m_Age;//年龄
};
void test01()
{
//1、包含头文件
//2、创建流对象
ifstream ifs;
//3、打开头文件
ifs.open("person.txt", ios::in | ios::binary);
if (!ifs.is_open())
{
cout << "文件打开失败" << endl;
return;
}
//4、读文件
Person p;
ifs.read((char*)&p, sizeof(Person));
cout << "姓名:" << p.m_Name << " 年龄:" << p.m_Age << endl;
//5、关闭文件
ifs.close();
}
int main()
{
test01();
system("pause");
return 0;
}