广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++文件读写操作详解
  • 885
分享到

C++文件读写操作详解

2024-04-02 19:04:59 885人浏览 安东尼
摘要

目录一、读写文本文件1.1 写文件1.2读文件二、读写二进制文件2.1 写文件2.2 读文件一、读写文本文件 1.1 写文件 写文件步骤如下: 包含头文件 #include <

一、读写文本文件

1.1 写文件

写文件步骤如下:

  • 包含头文件

    #include <fstream>

  • 创建流对象

    ofstream ofs;

  • 打开文件

    ofs.open("文件路径",打开方式);

  • 写数据

    ofs << "写入的数据";

  • 关闭文件

    ofs.close();

文件打开方式:

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

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

例如:用二进制方式写文件 ios::binary | ios:: out

示例:

#include <fstream>

void test01()
{
	ofstream ofs;
	ofs.open("test.txt", ios::out);

	ofs << "姓名:张三" << endl;
	ofs << "性别:男" << endl;
	ofs << "年龄:18" << endl;

	ofs.close();
}

int main() {

	test01();

	system("pause");

	return 0;
}

总结

  • 文件操作必须包含头文件 fstream
  • 读文件可以利用 ofstream ,或者fstream类
  • 打开文件时候需要指定操作文件的路径,以及打开方式
  • 利用 <<可以向文件中写数据
  • 操作完毕,要关闭文件

1.2读文件

读文件与写文件步骤相似,但是读取方式相对于比较多

读文件步骤如下:

  • 包含头文件

    #include <fstream>

  • 创建流对象

    ifstream ifs;

  • 打开文件并判断文件是否打开成功

    ifs.open("文件路径",打开方式);

  • 读数据

    四种方式读取

  • 关闭文件

    ifs.close();

示例:

#include <fstream>
#include <string>
void test01()
{
	ifstream ifs;
	ifs.open("test.txt", ios::in);

	if (!ifs.is_open())
	{
		cout << "文件打开失败" << endl;
		return;
	}

	//第一种方式
	//char buf[1024] = { 0 };
	//while (ifs >> buf)
	//{
	//	cout << buf << endl;
	//}

	//第二种
	//char buf[1024] = { 0 };
	//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() {

	test01();

	system("pause");

	return 0;
}

总结:

  • 读文件可以利用 ifstream ,或者fstream类
  • 利用is_open函数可以判断文件是否打开成功
  • close 关闭文件

二、读写二进制文件

以二进制的方式对文件进行读写操作

打开方式要指定为 ios::binary

2.1 写文件

二进制方式写文件主要利用流对象调用成员函数write

函数原型 :ostream& write(const char * buffer,int len);

参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数

示例:

#include <fstream>
#include <string>

class Person
{
public:
	char m_Name[64];
	int m_Age;
};

//二进制文件  写文件
void test01()
{
	//1、包含头文件

	//2、创建输出流对象
	ofstream ofs("person.txt", ios::out | ios::binary);
	
	//3、打开文件
	//ofs.open("person.txt", ios::out | ios::binary);

	Person p = {"张三"  , 18};

	//4、写文件
	ofs.write((const char *)&p, sizeof(p));

	//5、关闭文件
	ofs.close();
}

int main() {

	test01();

	system("pause");

	return 0;
}

总结:

  • 文件输出流对象 可以通过write函数,以二进制方式写数据

2.2 读文件

二进制方式读文件主要利用流对象调用成员函数read

函数原型:istream& read(char *buffer,int len);

参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数

示例:

#include <fstream>
#include <string>

class Person
{
public:
	char m_Name[64];
	int m_Age;
};

void test01()
{
	ifstream ifs("person.txt", ios::in | ios::binary);
	if (!ifs.is_open())
	{
		cout << "文件打开失败" << endl;
	}

	Person p;
	ifs.read((char *)&p, sizeof(p));

	cout << "姓名: " << p.m_Name << " 年龄: " << p.m_Age << endl;
}

int main() {

	test01();

	system("pause");

	return 0;
}

文件输入流对象 可以通过read函数,以二进制方式读数据

到此这篇关于c++读写文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C++文件读写操作详解

本文链接: https://www.lsjlt.com/news/147508.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++文件读写操作详解
    目录一、读写文本文件1.1 写文件1.2读文件二、读写二进制文件2.1 写文件2.2 读文件一、读写文本文件 1.1 写文件 写文件步骤如下: 包含头文件 #include <...
    99+
    2022-11-13
  • C++文件流读写操作详解
    目录1.打开文件1.1 fstream类型1.2 open()的函数原型1.3 打开方式1.4 打开文件的属性1.5 示例代码2.文本文件的读写2.1 写文件示例2.2 读文件示例2...
    99+
    2022-11-12
  • C#文件读写操作 [详细]
    C#文件读写操作 C# 中的 I/O 类FileStream 类C#中文本文件的读取写入1) StreamReader2) StreamWriter 二进制文件读写1) BinaryRe...
    99+
    2023-09-09
    c# 开发语言 java
  • JAVA文件读写操作详解
    目录一、读文件BufferedInputStream二、写文件BufferedOutputStream三、实际应用场景总结一、读文件BufferedInputStream Buffe...
    99+
    2022-11-13
  • JavaZip文件读写操作详解
    输入流(读取): ZipInputStream是一种FileInputStream流,它可以直接读取Zip压缩包的内容: ┌───────────────────┐│   ...
    99+
    2022-11-13
    Java Zip文件读取 Java Zip文件写入
  • Node.js Streams文件读写操作详解
    Node.js 天生异步和事件驱动,非常适合处理 I/O 相关的任务。如果你在处理应用中 I/O 相关的操作,你可以利用 Node.js 中的流(stream)。因此,我们先具体看看流,理解一下它们是怎么简...
    99+
    2022-06-04
    详解 操作 文件
  • PythonYAML文件的读写操作详解
    目录YAML格式YAML文件YAML操作读取存储示例转字典转列表YAML是一种数据序列化格式,方便人类阅读,且容易和脚本语言交互。常用于配置文件,也用于数据存储或传输。 YAML格式...
    99+
    2022-11-11
  • java进行文件读写操作详解
    在Java中,文件读写操作可以使用Java的输入/输出流(IO)类来实现。Java提供了多种IO类来进行文件读写操作,包括字节流和字...
    99+
    2023-09-14
    java
  • Python读写JSON文件的操作详解
    目录JSONJSON 起源JSON 样例Python 原生支持 JSON序列化 JSON简单的序列化示例JSON 反序列化简单的反序列化示例应用案例编码和解码JSON JSON 起源...
    99+
    2022-11-10
  • Pandas对CSV文件读写操作详解
    目录什么是 CSV 文件CSV 库解析 CSV 文件读取 CSV 文件CSV reader 参数CSV 文件的写入使用 pandas 库解析 CSV 文件pandas 读取 CSV ...
    99+
    2022-11-10
  • java文件读写操作实例详解
    目录File类File类的构造方法创建功能判断获取删除IO流字节流写数据小问题总结File类 它是文件和目录路径名的抽象表示。 文件和目录是可以通过File封装成对象的。 对于Fil...
    99+
    2022-11-13
  • Golang文件读写操作详情
    目录一、概念二、读取文件操作2.1 打开和关闭文件defer 语句2.2 file.Read() 读取文件Read 方法定义ReadAt方法定义一次性读取循环读取2.3 bufio ...
    99+
    2022-11-13
  • C++文件IO流及stringstream流读写文件和字符串操作详解
    目录一、引入二、自定义类型隐式类型转换三、sync_with_stdio同步四、文件IO流4.1 open和close文件4.2 写入文件与读出文件五、stringstream流的使...
    99+
    2023-05-17
    C++文件IO流 C++ stringstream流
  • Go语言文件读写操作案例详解
    目录基本介绍文件基本操作读操作写操作写操作案例查看文件或目录是否存在拷贝文件基本介绍 文件,对我们并不陌生,文件是数据源(保存数据的地方)的 一种 输入流和输出流 文件在程序中是以流...
    99+
    2022-11-11
  • Java操作Excel文件解析与读写方法详解
    目录一、概述二、Apache POI三、XSSF解析Excel文件1.Workbook(Excel文件)2.Sheet(工作簿)3.Row(数据行)4.Cell(单元格)四、超大Ex...
    99+
    2022-11-13
    Java Excel文件解析 Java Excel文件读写
  • GO文件创建及读写操作示例详解
    目录三种文件操作比较ioutilioutil.ReadFile读ioutil.WriteFile 写ioutil.ReadAll 读ioutil.ReadDir 查看路径下目录信息i...
    99+
    2022-11-13
  • Java详细讲解文件的读写操作方法
    目录java的IO字节流InputStream的常用方法OutputStream的常用方法字节流读写文件如何将数据写入到文件中java的IO Java程序允许通过流的方式与输入输出设...
    99+
    2022-11-13
  • node里的filesystem模块文件读写操作详解
    目录一、是什么二、文件知识权限位 mode标识位文件描述为 fd三、方法文件读取fs.readFileSyncfs.readFile文件写入writeFileSyncwriteFil...
    99+
    2022-11-13
  • C/C++中文件的随机读写详解及其作用介绍
    目录概述随机读写函数例子指针流成员函数随机访问二进制数据概述 文件的操作方式分为顺序读写和随机读写. 顺序读写指文件的指针只能从头移到尾巴. 随机读写指文件指针可以随意移动, 根据需...
    99+
    2022-11-12
  • 详解C#如何实现读写ini文件
    目录介绍1.创建一个ini文件2.创建一个winform界面3.添加一个ini管理类4.添加winform代码介绍 INI文件格式由节、键、值组成。 节 [section] 参数 (...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作