一、常用文件打开方式

二、读写文件步骤(文本文件)

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的更多相关文章

  1. C语言文件读写Demo

    CIODemo.c #include <stdio.h> #include <time.h> #define INPUT_BUFFER_SIZE 100 * 1024 int ...

  2. java 文件读写demo

    分析错误日志: import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public ...

  3. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...

  4. JAVA之IO文件读写

    IO概述:                                                          IO(Input output)流 作用:IO流用来处理设备之间的数据传输 ...

  5. [转]ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    本文转自:http://www.cnblogs.com/artwl/p/3396330.html 近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0, ...

  6. 实现动态的XML文件读写操作

    实现动态的XML文件读写操作(依然带干货) 前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义 ...

  7. RandomAccessFile多线程下载、复制文件、超大文件读写

    最近在准备面试,翻了翻自己以前写的Demo,发现自己写了不少的工具包,今天整理了一下,分享给大家. 本文包含以下Demo: 1.常用方法测试 2.在文件中间插入一段新的数据 3.多线程下载文件 4.多 ...

  8. python 文件读写方式

    一.普通文件读写方式 1.读取文件信息: with open('/path/to/file', 'r') as f: content = f.read() 2.写入文件中: with open('/U ...

  9. C# 文件读写系列二

    读取文件原则上非常简单,但它不是通过FileInfo和DirectoryInfo来完成的,关于FileInfo和DirectoryInfo请参考C# 文件操作系列一,在.Net Framework4. ...

随机推荐

  1. Vue 常用三种传值方式

    Vue常用的三种传值方式: 父传子 子传父 非父子传值 引用官网一句话:父子组件的关系可以总结为 prop 向下传递,事件向上传递.父组件通过 prop 给子组件下发数据,子组件通过事件给父组件发送消 ...

  2. python学习记录(六)

    0903--https://www.cnblogs.com/fnng/archive/2013/04/21/3034442.html 基本语句的用法 使用逗号输出(想要同时输出文本和变量值,又不希望使 ...

  3. HDU_1494_dp

    http://acm.hdu.edu.cn/showproblem.php?pid=1494 能量用0-14表示,dp[i][j]表示走到第i段,所剩能量j的最小时间. #include<ios ...

  4. Codeforces_429_B

    http://codeforces.com/problemset/problem/429/B 挺简单的题,先求出四个点到每一点的最大和,然后枚举每一点,取和最大值. 注意两条路相交的点有且只有一个,这 ...

  5. learn about sqlserver partitition and partition table --- add or remove table partitions addition more

    Yes . In the previous. chapter , we see how to generate "partition function" "parttit ...

  6. 如何高效地远程部署?自动化运维利器 Fabric 教程

    关于 Python 自动化的话题,在上一篇文章中,我介绍了 Invoke 库,它是 Fabric 的最重要组件之一.Fabric 也是一个被广泛应用的自动化工具库,是不得不提的自动化运维利器,所以,本 ...

  7. 全局new和宏结合起来的一个小应用

    #include <iostream> using namespace std; void* operator new(size_t size, const char* file, int ...

  8. Spark API 之 map、mapPartitions、mapValues、flatMap、flatMapValues详解

    原文地址:https://blog.csdn.net/helloxiaozhe/article/details/80492933 1.创建一个RDD变量,通过help函数,查看相关函数定义和例子: & ...

  9. 并发编程的基石——AQS类

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 本文参考了[Java多线程进阶(六)-- J.U.C之l ...

  10. finalize的用法

    public class GC {          public static GC SAVE_HOOK = null;          public static void main(Strin ...