C++文件读写demo
一、常用文件打开方式
二、读写文件步骤(文本文件)
1、写文件步骤
1)#include <fstream> //包含头文件
2)ofstream ofs; //创建流对象
3)ofs.open("文件路径",打开方式); //打开文件
4)ofs << "写入的数据"; //写数据
5)ofs.close(); //关闭文件
2、写文件代码部分
#include<iostream>
#include<fstream>
using namespace std; void test()
{
//ofstream ofs("test.txt",ios::out); //创建流对象,并创建文件和打开方式
ofstream ofs; //创建流对象
ofs.open("test.txt", ios::out); //创建文件和打开方式
ofs << "姓名:码子" << endl;
ofs << "年龄:18" << endl;
ofs.close(); //关闭文件
} int main()
{
test(); return ;
}
3、读文件步骤
1)#include<fstream> //包含头文件
2)ifstream ifs; //创建流对象
3)ifs.open("文件路径",打开方式);
4)读数据(四种方式读取)
5)ifs.close(); //关闭文件
4、读文件代码部分
#include<iostream>
#include<fstream>
#include<string>
using namespace std; void test()
{
ifstream ifs;
ifs.open("test.txt", ios::in);
//判断是否打开文件
if (!ifs.is_open())
{
cout << "打开文件失败" << endl;
}
//第一种读取方式
/*char buf[1024] = "";
while (ifs>>buf)
{
cout << buf << endl;
}*/ //第二种读取方式
/*char buf[1024] = "";
while (ifs.getline(buf,sizeof(buf)))
{
cout << buf << endl;
}*/ //第三种读取方式
string buf = "";
while (getline(ifs, buf))
{
cout << buf << endl;
} //第四种读取方式,不推荐
/* char c;
while ((c = ifs.get()) != EOF)
{
cout << c;
}*/ ifs.close();
} int main()
{
test(); return ;
}
三、读写文件步骤(二进制文件)
1、写文件步骤
和文本文件类似,不在累赘。
2、写文件代码(二进制)
#include<iostream>
#include<fstream>
#include<string>
using namespace std; class Cat
{
public:
Cat(const char name[] = "", int age = ,const char color[]="")
{
strcpy_s(m_Name, name);
strcpy_s(m_Color,color);
m_Age = age;
}
char m_Name[];
char m_Color[];
int m_Age;
}; void test1()
{
Cat c("老黄",,"Yellow");
ofstream ofs("Cat.txt", ios::out | ios::binary); //创建流对象,并设置打开文件方式
ofs.write((const char*)&c, sizeof(c)); //写入文件
ofs.close(); //关闭文件
} int main()
{
test1();
return ;
}
3、读文件步骤
省略
4、读文件代码(二进制)
#include<iostream>
#include<fstream>
#include<string>
using namespace std; class Cat
{
public:
Cat(const char name[] = "", int age = ,const char color[]="")
{
strcpy_s(m_Name, name);
strcpy_s(m_Color,color);
m_Age = age;
}
char m_Name[];
char m_Color[];
int m_Age;
}; void test2()
{
Cat c;
ifstream ifs("Cat.txt", ios::in | ios::binary); //创建流对象,并设置打开文件方式
//验证是否成功打开文件
if (!ifs.is_open())
{
cout << "文件打开失败" << endl;
}
ifs.read((char*)&c, sizeof(c)); //读出文件
cout << "名字: " << c.m_Name << endl;
cout << "颜色: " << c.m_Color << endl;
cout << "年龄: " << c.m_Age << endl;
ifs.close(); //关闭文件
} int main()
{
test2();
return ;
}
C++文件读写demo的更多相关文章
- C语言文件读写Demo
CIODemo.c #include <stdio.h> #include <time.h> #define INPUT_BUFFER_SIZE 100 * 1024 int ...
- java 文件读写demo
分析错误日志: import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public ...
- ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...
- JAVA之IO文件读写
IO概述: IO(Input output)流 作用:IO流用来处理设备之间的数据传输 ...
- [转]ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
本文转自:http://www.cnblogs.com/artwl/p/3396330.html 近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0, ...
- 实现动态的XML文件读写操作
实现动态的XML文件读写操作(依然带干货) 前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义 ...
- RandomAccessFile多线程下载、复制文件、超大文件读写
最近在准备面试,翻了翻自己以前写的Demo,发现自己写了不少的工具包,今天整理了一下,分享给大家. 本文包含以下Demo: 1.常用方法测试 2.在文件中间插入一段新的数据 3.多线程下载文件 4.多 ...
- python 文件读写方式
一.普通文件读写方式 1.读取文件信息: with open('/path/to/file', 'r') as f: content = f.read() 2.写入文件中: with open('/U ...
- C# 文件读写系列二
读取文件原则上非常简单,但它不是通过FileInfo和DirectoryInfo来完成的,关于FileInfo和DirectoryInfo请参考C# 文件操作系列一,在.Net Framework4. ...
随机推荐
- QT笔记:数据库总结
http://blog.csdn.net/reborntercel/article/details/6991147 #include <QtSql> QT += sql QSqlDatab ...
- python3调用哈工大ltp
运行环境ubuntu+python3 安装pyltp sudo pip3 install pyltp 下载ltp_data_v3.4.0模型 http://ltp.ai/ 分句 from pyltp ...
- 【WPF学习】第四十一章 变换
通过使用变换(transform),许多绘图任务将更趋简单:变换是通过不加通告地切换形状或元素使用的坐标系统来改变形状或元素绘制方式的对象.在WPF中,变换由继承自System.Windows.Med ...
- Jenkins report 打开样式失败解决方案
1.临时解决方案(重启Jenkins失效):在系统管理->脚本命令行: 执行: System.setProperty("hudson.model.DirectoryBrowserSup ...
- CCF_201312-5_I’m stuck!
一次bfs从起点开始找到起点能到达的点,一次bfs从终点开始找到能到终点的点,最后输出答案即可. 刚开始写的时候,考虑找起点能到达的点的时候,用了dfs,提交只有20分,仔细想了一下,会存在无限循环的 ...
- php扩展模块的安装
PHP的扩展模块安装 模块安装总则: 进入到ext/目录下对应的模块 执行/usr/local/php/bin/phpize 也就是执行一遍phpize生成编译文件 ./configure --wit ...
- 微信小程序如何添加新的icon图标
第一步 先去阿里云下载图标http://www.iconfont.cn/ 根据需要把图片的代码下载下来,下载完成之后是一个 压缩包,解压压缩包里面有一个css的文件复制到项目中,更改后缀为wxss 第 ...
- 【WPF学习】第四十五章 可视化对象
前面几章介绍了处理适量适中的图形内容的最佳方法.通过使用几何图形.图画和路径,可以降低2D图形的开销.即使正在使用复杂的具有分层效果的组合形状和渐变画刷,这种方法也仍然能够正常得很好. 然而,这样设计 ...
- 02-Redis
今日内容 1. redis 1. 概念 2. 下载安装 3. 命令操作 1. 数据结构 4. 持久化操作 5. 使用Java客户端操作redis Redis 1. 概念:redis是一款高性能的NOS ...
- 使用helm安装jenkin和gitlab
一.使用服务介绍 存储: 阿里云NAS k8s网络插件: calico k8s版本: 1.15.2 二.helm安装 https://www.cnblogs.com/zhangb8042/p/1020 ...