欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 文件相关操作

文件相关操作

2025/5/16 6:20:14 来源:https://blog.csdn.net/qq_52396030/article/details/147924650  浏览:    关键词:文件相关操作

文本文件

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

文件分类

文本文件:文件以文本的ASCII码形式存储在计算机中
二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂他们

打开文件的方式

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

文件三种操作

ofstream:写操作
ifstream读操作
fstream:读写操作

写文件

int main() {// 创建流对象ofstream ofs;// 打开文件,以写文件格式写文件ofs.open("mle.txt", ios::out);// 写文件内容ofs << "姓名:张三" << endl;ofs.close();
}

读文件


int main() {// 创建流对象ifstream ifs;// 打开文件,以读文件打开文件ifs.open("mle.txt", ios::in );// 写文件内容char buf[1024] = { 0 };// 方法一while (ifs>>buf) {cout << buf << endl;}// 方法2while (ifs.getline(buf, sizeof(buf))) {cout << buf << endl;}// 方法3string buf;while(getline(ifs, buf)) {cout << buf << endl;}char c;while ((c = ifs.get()) != EOF) {cout << c;}ifs.close();
}

二进制文件

写文件

class Person {
public:string name;
};int main() {ofstream ofs;ofs.open("person.txt", ios::out | ios::binary);Person p = { "zhangsan" };// 把p写入文件,写入大小为sizeof(Person)ofs.write((const char *)&p,sizeof(Person));ofs.close();
}

读文件

class Person {
public:string name;
};int main() {ifstream ifs;ifs.open("person.txt", ios::in | ios::binary);Person p ;ifs.read((char*)&p, sizeof(Person));ifs.close();}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词