C++文件操作读与写

编程入门 行业动态 更新时间:2024-10-26 06:39:11

C++文件<a href=https://www.elefans.com/category/jswz/34/1770947.html style=操作读与写"/>

C++文件操作读与写

文件操作
程序运行时的产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化,c++中对文件操作需要包括头文件

文件类型分为两种:
1.文本文件 文件以文本的ASCII码形式存储在计算机
2. 二进制文件 文件以文本的二进制形式储存在计算机中,用户一般不能直接读懂他们

操作文件的三大类:
. ofstream : 写文件
. ifstream : 读文件
. fstream : 读写文件

文本文件
  1. 写文件

1.包含头文件 #include
2. 创建流对象 ofstream ofs;
3.打开文件 ofs.open(“文件路径”,“打开方式”);
4.写数据 ofs<<“写数据”;
5.关闭文件。

文件的打开方式:解释
ios::in为读文件而打开文件
ios::out为写文件而打开文件
ios::ate初始位置:文件尾
ios::app追加的方式写文件
ios::trunc如果文件纯在先删除,再创建
ios::binary以二进制方式打开

注意: 文件打开方式可以配合使用,利用| 操作符

#include<fstream>
void test01(){ofstream ofs;  //创建流对象ofs.open("leb.txt",ios::out);ofs<<"姓名: 张三"<<endl;ofs<<"性别: 男"<<endl;//关闭文件ofs.close();}

读文件

1.包含头文件 #include
2. 创建流对象 ifstream ifs;
3.打开文件 ofs.open(“文件路径”,“打开方式”); 并判断是否打开成功
4.读数据 四种方式读取.
5.关闭文件。 ifs.close();

#include<fstream>
void test01(){ifstream ifs;ifs.open("leb.txt",ios::in);if(!ifs.is_open()){cout<<"文件打开失败"<<endl;return ;}//读数据//第一种:char buf[1024]={0};while(ifs>>buf){   //遇见空格就结束, cout<<buf<<endl;}//第二种char buff[1024]={0};while(ifs.getline(buf,1024)){ //读一行cout<<buff<<endl;		}//第三种string bu;while(getline(ifs,bu)){cout<<bu<<endl;}//第四种  ,一个一个字符读,不推荐char c;while((c=ifs.get())!=EOF)    //EOF  文件尾   {cout<<c;}ifs.close();}

二进制文件

以二进制方式对文件进行读写操作;
打开方式要指定为ios::binary;
写文件
二进制方式写文件要利用流对象调用成员函数write;
ostream & write(const char * buffer,int len);
字符串指针buffer指向内存种的一段存储空间,len是读写的字节数.

class person{char m_name[64];  //姓名int m_age;  };
void test(){ofstream ofs;ofs.open("leb.txt",ios::out| ios::binary);person p={"张",18};ofs.write((const char*)&p,sizeof(person));ofs.close();}

读文件
二进制方式读文件主要利用流对象调用成员函数read;
函数原型 istream &read(char * buffer,int len);
buffer 指向内存种的一段存储空空间,len是读写的字节数.

#include<fstream>
class person{char m_name[64];  //姓名int m_age;  };
void test01(){ifstream ifs;  //创建流对象ifs.open("leb.txt",ios::in | ios::binary);Person p;ifs.read((char*)&p,sizeof(person))://关闭文件ifs.close();}

更多推荐

C++文件操作读与写

本文发布于:2024-02-10 20:16:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1677070.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   文件

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!