Day13-C++基础之文件操作
文件操作
#include<iostream> #include<fstream> #include<string> using namespace std; class Person{ public: char m_Name[64]; int m_Age; }; int main(){ //文本文件操作 //写文件 //1.包含头文件 fstream //2.创建流对象 ofstream ofs; //3.指定打开方式 ofs.open("test.txt",ios::out);//不指定路径会创建在项目文件夹下 //这里注意:读文件打开方式:ios::in //写文件打开方式:ios::out //追加方式写文件:ios:app //如果文件存在就先删除再创建:ios::trunc //二进制方式:ios::binary //4.写内容 ofs<<"name"<<endl; ofs<<"Jason"<<endl; //5.关闭文件 ofs.close(); //读文件 //1.头文件 //2.创建流对象 ifstream ifs; //3.打开文件,并判断是否打开成功 ifs.open("test.txt",ios::in); if(!ifs.is_open()){ cout<<"fail to open"<<endl; return 0; } //4.读数据 char buf[1024]={0}; while(ifs>>buf){ cout<<buf<<endl; } //或者 char buf1[1024]={0}; while(ifs.getline(buf,sizeof(buf))){ cout<<buf<<endl; } //或者 string buf2; while(getline(ifs,buf2)){ cout<<buf<<endl; } //或者 char c; while((c=ifs.get())!=EOF){ cout<<c; } //5.关闭文件 ifs.close(); //二进制文件 //写文件 ofstream ofs1; ofs1.open("person.txt",ios::out|ios::binary); Person p={"Jason",18}; ofs1.write((const char*)&p,sizeof(Person));//这里将Person类型强转为char ofs1.close(); //读文件 ifstream ifs1; ifs1.open("person.txt",ios::in|ios::binary); if(!ifs1.is_open()){ cout<<"文件打开失败"<<endl; return 0; } Person p1; ifs1.read((char*)&p,sizeof(Person)); ifs1.close(); return 0; }
原文地址:https://blog.csdn.net/m0_46053885/article/details/137794978
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!