C++文本文件操作和二进制文件读写

文本文件操作:
代码如下:

#include <iostream>
#include <fstream>
using namespace std;void test01()
{const char *fileName = "C:\\Users\\Tom\\Desktop\\hhh.txt";//ifstream ism(fileName, ios::in);//只读方式打开文件ifstream ism;ism.open(fileName, ios::in);const char *TagetName = "C:\\Users\\Tom\\Desktop\\jjj.txt";ofstream osm(TagetName, ios::out);if (!ism){cout << "打开文件失败" << endl;return;}//读文件char ch;while (ism.get(ch)){/*cout << ch;*/osm.put(ch);}ism.close();osm.close();}int main()
{test01();return 0;
}

追加写文件操作核心代码:

ofstream osm(TagetName, ios::out | ios::app);

代码如下:

#include <iostream>
#include <fstream>
using namespace std;void test01()
{const char *fileName = "C:\\Users\\Tom\\Desktop\\hhh.txt";//ifstream ism(fileName, ios::in);//只读方式打开文件ifstream ism;ism.open(fileName, ios::in);const char *TagetName = "C:\\Users\\Tom\\Desktop\\jjj.txt";ofstream osm(TagetName, ios::out | ios::app);if (!ism){cout << "打开文件失败" << endl;return;}//读文件char ch;while (ism.get(ch)){/*cout << ch;*/osm.put(ch);}ism.close();osm.close();}int main()
{test01();return 0;
}

二进制文件读写:
对象的序列化: 把对象写入文件
代码如下:

#include <iostream>
#include <fstream>
using namespace std;class Person
{
public:Person(){}Person(int age,int id):age(age),id(id){}void show(){cout << "age = " << age << "id = " << id << endl;}public:int age;int id;
};void test01()
{const char * fileName = "C:\\Users\\Tom\\Desktop.jjj.txt";Person p1(10, 20), p2(30, 40);//二进制存储//把p1,p2写进文件里ofstream osm(fileName, ios::out | ios::binary);osm.write((char*)&p1, sizeof(Person));osm.write((char*)&p2, sizeof(Person));osm.close();ifstream ism(fileName, ios::in | ios::binary);Person p3,p4;ism.read((char *)&p3, sizeof(Person));//从文件读取数据ism.read((char *)&p4, sizeof(Person));//从文件读取数据p3.show();p4.show();}int main()
{test01();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java类结构工具_java类层次结构图工具

Java主类结构_计算机软件及应用_IT/计算机_专业资料。Java主类结构 谢谢大家! Java主类结构 谢谢大家! 申请认证 文档贡献者 胸兢谙韶硛蠌 中西医 59981 ......知识结构类思维导图模板:java知识结构。{"code":&...所有这些都遵从 Spring 的通用事务和 DAO 异常层…

详解.NET Core 依赖注入生命周期

前言.NET Core 自带依赖注入框架&#xff0c;支持三种不同生命周期的注入模式&#xff1a;Singleton 单例模式Scoped 区域模式Transient 瞬时模式但是常常不知道什么时候使用哪种模式才最合适&#xff0c;接下来我就用代码详细解读一下三种模式代码示例首先新建.NET Core API…

[C++STL]string容器用法介绍

string构造函数 代码如下: #include <iostream> #include <string> using namespace std;void test01() {string s1;cout << "s1 " << s1 << endl;const char *str "hello world";string s2(str);cout << "s2…

LightOJ-1220 Mysterious Bacteria (素数打表+欧几里得算法+唯一分解定理)给出x,求x=a^p,最大的指数

题目大意&#xff1a; x b^p, x只有一个因子的p次幂构成 如果24 2^3*3^1&#xff0c;p应该是gcd(3, 1) 1,即24 24^1 324 3^4*2^2(3^2*2)^2,p应该是gcd(4, 2) 2,即324 18^2 所以p gcd(x1, x2, x3, ... , xn){欧几里得算法求取最大公约数}; *本题有一个坑&#xff0c;就…

致敬平凡的程序员--《SOD框架“企业级”应用数据架构实战》自序

“简单就是美”“平凡即是伟大”上面两句话不知道是哪位名人说的&#xff0c;又或者是广大劳动人民总结的&#xff0c;反正我很小的时候就常常听到这两句话&#xff0c;这两句话也成了我的人生格言&#xff0c;而且事实上我也是一个生活过得比较简单的平凡人物&#xff0c;当然…

[C++STL]vector容器用法介绍

代码如下&#xff1a; #include <iostream> #include <string> #include <vector> using namespace std;void printVector(vector<int >&v) {for (vector<int>::iterator it v.begin(); it ! v.end(); it){cout << *it << &qu…

跟沈剑学习如何带领技术团队作战

【学习笔记】| 作者/Edison Zhou这是恰童鞋骚年的第229篇原创文章小编Edison在阿里云开发者社区上看到了58集团技术VP大佬沈剑关于如何带领技术团队作战的一个直播分享&#xff0c;因此在站地铁的上下班路上学习完了整个录播视频&#xff0c;整理总结下此文作为学习笔记&#x…

拓展欧几里得小结(初级理解)

什么是拓展欧几里得&#xff1f;简单的说&#xff0c;就是求关于x,y的方程 ax by gcd(a,b) 的所有整数解 现在我们令g gcd(a,b)则方程变成了ax by g 假如我们现在知道了关于这个方程的一个特解x0, y0&#xff0c;我们就可以用一种方法求出所有的整数解。 说的比较模糊&am…

用java做一个模拟彩票程序_JAVA模拟----- 彩票机子-----抽奖过程的实例化

/*时间&#xff1a;2012-10-05作者&#xff1a;烟大阳仔程序要求&#xff1a;模拟彩票抽奖机的功能编写一个程序,实现随即输出六个号码程序解释&#xff1a;该段程序没有传递参数*/class Day1005_Caipiao{public static void main(String[] args){System.out.println("估计…

[C++STL]deque容器用法介绍

代码如下&#xff1a; #include <iostream> #include <string> #include <deque> using namespace std;void printDeque(const deque<int>& d) {for (deque<int>::const_iterator it d.begin(); it ! d.end(); it){cout << *it <…

“我工作八年,换了四家小公司,今后的职业生涯该怎么走?”

去年&#xff0c;我曾在GIAC大会上分享过一个有关程序员职场变化和转型的话题。在分享结束之后&#xff0c;有一位小伙伴拦在大门口&#xff0c;问了我一个问题&#xff1a;"王老师&#xff0c;虽然你分享的内容很务实&#xff0c;落地性也很强&#xff0c;但我觉得跟自己…

最长回文 HDU - 3068(求最长回文串的长度【马拉车算法Manacher】)

马拉车算法 Manacher‘s Algorithm 是用来查找一个字符串的最长回文子串的线性方法&#xff0c;由一个叫 Manacher 的人在 1975 年发明的&#xff0c;这个方法的最大贡献是在于将时间复杂度提升到了线性 dp[i] ma > i ? min(dp[2 * mod - i], ma - i) : 1; 可以这么说&…

java中的循环结构_Java中的循环结构进阶

循环结构进阶学习本章用到的单词triangle:三角形circle:圆形diamond:钻石password:密码row:行.排列二重循环结构简单的说:二重循环就是一个循环体内又包含另一个完整的循环结构.while循环结构,do-while循环结构,for循环结构三种循环结是可以相互嵌套的语法://while与while循环嵌…

.NET Core + Kubernetes:Deployment

在上篇文章 .NET Core Kubernetes&#xff1a;Pod 中&#xff0c;主要介绍了 Pod 的相关内容&#xff0c; 基于 Pod 为单位能更加合理进行容器编排&#xff0c;然而 Pod 只是个启动了一个或一组容器的资源类型&#xff0c;在实际应用中&#xff0c;我们也需要 Pod 能实现动态扩…

java dos平台压缩_Dos命令 压缩 解压缩

你的机器 有RAR吗> 装个rar里面有个Rar.exe文件用法: rar - - a 添加文件到压缩文件c 添加压缩文件注释cf 添加文件注释cw 写入压缩文件注释…

Oulipo HDU - 1686(哈希或KMP)匹配字符串

题意&#xff1a;字符串匹配&#xff1a;寻找字符串S中&#xff0c;字符串T出现的次数 思路&#xff1a;KMP或哈希 The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter e. He was a member of the Oulipo group. A quote …

我整理了100G的.Net学习资料,速来领取!

听说免费送课会上瘾&#xff1f;不分享点干货给大家学习&#xff0c;完全无法衬托本号主的好人特质啊&#xff01;正所谓白嫖一时爽&#xff0c;一直白嫖一直爽&#xff01;举起你滴双手&#xff0c;擦亮你的眼睛&#xff01;今天我要丢个硬核干货&#xff01;一次性怒砸几百个…

maven mysql的jdbctemplate_JDBC、JDBCTemplate、MyBatis、Hiberante 比较与分析

JDBC (Java Data Base Connection,java数据库连接)JDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发…