写文件步骤
文件打开方式
要使用多种属性时用|操作符分隔
简单示例
#include<iostream>
using namespace std;
#include<fstream>//1.头文件的包含
//文本文件 写文件
void test01() {
//2.创建流对象
ofstream ofs;
//3.指定打开方式
ofs.open("test.txt",ios::out);
//4.写内容
ofs<<"姓名:张三" <<endl;
ofs<<"性别:男" <<endl;
ofs<<"年龄:18" <<endl;
//5.关闭文件
ofs.close();
}
int main(){
test01();
return 0;
}
读文件
示例
#include<iostream>
#include<string>
using namespace std;
#include<fstream>//1.头文件的包含
//文本文件 读文件
void test01() {
//2.创建流对象
ifstream ifs;
//3.指定打开方式 并且判断是否打开成功
ifs.open("test.txt",ios::in);
if(!ifs.is_open()){
cout<<"文件打开失败"<<endl;
return;
}
//4.读数据
//第一种
// char buf[1024]={0};
// while(ifs>>buf){
// cout<<buf<<endl;
// }
//第二种
string buf;
while(getline(ifs,buf)){
cout<<buf<<endl;
}
//5.关闭文件
ifs.close();
}
int main(){
test01();
return 0;
}
二进制写文件
示例
#include<iostream>
using namespace std;
#include<fstream>//1.头文件的包含
//二进制文件 写文件
class Person{
public:
char m_Name[64];//姓名
int m_Age;//年龄
};
void test01() {
//2.创建流对象
ofstream ofs;
//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();
return 0;
}
二进制读文件
#include<iostream>
using namespace std;
#include<fstream>//1.头文件的包含
//二进制文件 写文件
class Person{
public:
char m_Name[64];//姓名
int m_Age;//年龄
};
void test01() {
//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));//强制转换成char类型
cout<<"姓名:"<<p.m_Name<<"年龄:" <<p.m_Age<<endl;
//5.关闭文件
ifs.close();
}
int main(){
test01();
return 0;
}