C/c++文件操作总结之概述(持续跟新)

本文介绍了C++中文件操作的基础知识,包括文件路径、流的概念、文本文件与二进制文件的差异。流分为输入流和输出流,方便对I/O设备的操作。文本文件以ASCII码存储字符,而二进制文件则直接存储数据的二进制形式。在C++中,可以使用iostream和fstream库进行文件读写,如ofstream、ifstream和fstream类。
摘要由CSDN通过智能技术生成


此文仅为自己学习的一个笔记,笔者水平有限,此系列只是对于文件打开读写操作上的一系列总结,对于更加深入的原理,以及C和C++的区别本人了解的不是很深入,如果内容有什么不对的地方欢迎大家不吝指正。如果有什么疑问也可以一起讨论学习!!
# 一、概述 ## 文件及其分类 计算机上面的各种资源都是由操作系统控制和管理的,而文件是操作系统管理数据的基本单位。 **文件的三要素:** 文件路径、文件名、后缀。

1.1 文件路径

由于在 C 语言中 ‘’ 一般是转义字符的起始标志,故在路径中需要用两个 ‘’ 表示路径中目录层次的间隔,也可以使用 ‘/’ 作为路径中的分隔符。例如,“E:\ch10.doc"或者"E:/ch10.doc”,表示文件 ch10.doc 保存在 E 盘根目录下。“f1.txt” 表示当前目录下的文件 f1.txt。
文件路径:可以显式指出其绝对路径,如上面的”E:\”或者”E:/”等;如果没有显式指出其路径,默认为当前路径。

c语言不仅支持当前目录和根目录文件的操作,也支持多级目录文件的操作

  • D:\\filefolder\\file_1 或者D:/filefolder/file_1

文件的命名(规则与要求):

1.2 流的概念与分类

I/O设备的多样性以及复杂性非程序设计带来了很多不便,所以我们要统一标准
流的方向为:输入流输出流。从文件获取数据的方式为输入流,向文件输出的方式为输出流

1.3 文本内容

根据文件中数据的组织形式的不同,可以把文件分为:文本文件与二进制文件

  • 文本文件:把要存储的数据当成一系列字符的组成,把每个字符的ASCII码存入文件中。每个ASCII码值占一个字节,每个字节表示一个字符。故文本文件也称作字符文件或者ASCII文件,是字符序列文件。
  • 二进制文件:把数据对应的二进制形式存储到文件中,是字节序列文件。

例如数据123,如果按照文本文件形式存储,把数据看成三个字符‘1’,‘2’,‘3’,的集合,文件中一次存储各个字符的ASCII码值,格式如表1所示。

字符‘1’‘2’‘3’
ASCII(十进制)495051
ASCII(二进制)0011 00010011001000110011

如果按照二进制文件形式存储,则把数据123看成是整数型,如果该系统中整数占4个字节,则数据123二进制存储形式的4个字节为:
0000 0000 0000 0000 0000 0111 1011

1.4 C++ 中的文件和流

对于C++而言,我们可以使用 iostream 标准库,它提供了 cincout 方法分别用于从标准输入读取流和向标准输出写入流。下面开始介绍如何从文件读取流和向文件写入流。这就需要用到 C++ 中另一个标准库 fstream,它定义了三个新的数据类型:

数据类型描述
ofstream该数据类型表示输出文件流,用于创建文件并向文件写入信息。
ifstream该数据类型表示输入文件流,用于从文件读取信息。
fstream该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息。

要在 C++ 中进行文件处理,必须在 C++ 源代码文件中包含头文件< iostream> 和 < fstream > 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值