爱上c++的第十二天:文件流的概念(详细版本)

简介: c++的程序运行是要以类对象为操作单位的,要以磁盘文件为对象进行输入输出时,必须定义一个文件流的对象,通过文件流对象将数据从内存输出到磁盘文件,或者通过文件流对象从磁盘文件将数据输入到内存。

你的c++学习路上明灯


有些东西在前面已经讲过了,这里就不写了,这里写的就是一些更加深入的东西了。


如果有不懂的,可以看我之前的文章。


爱上c++的第七天(核心课程):文件操作_喜欢吃豆的博客-CSDN博客

https://blog.csdn.net/m0_63309778/article/details/123102368?spm=1001.2014.3001.5501

文件流类与文件流对象

c++的输入输出流是由类对象来实现的,如cin,cout就是流对象。c++中以标准设备为对象的输入输出,而不能处理以磁盘文件为对象的输入输出。必须另外定义以磁盘文件为对象的输入输出流对象。


首先。什么是文件流?


文件流是以外存文件为输入输出对象的数据流。每一个文件流都有对应的内存缓冲区与之对应。


文件流不是由若干个文件组成的流,流是数据传输的过程,文件流指的是以文件为输入输出对象的流。


c++的程序运行是要以类对象为操作单位的,要以磁盘文件为对象进行输入输出时,必须定义一个文件流的对象,通过文件流对象将数据从内存输出到磁盘文件,或者通过文件流对象从磁盘文件将数据输入到内存。


其实在用标准设备为对象的输入输出中,也是要定义流对象的,如cin,cout就是流对象,c++是通过流对象进行输入输出的。由于cin,cout已在iostream头文件中事先定义,所以用户不用自己定义。在用磁盘文件时,由于情况各异,无法事先统一定义,必须由用户自己定义。此外,对磁盘文件的操作时通过文件流对象(而不是cin,cout)实现的。文件流对象是用文件流类定义的,而不是用istream类和ostream类来定义。

目录
相关文章
|
2月前
|
C++
二叉树进阶面试题(精华总结)【C++版本】
二叉树进阶面试题(精华总结)【C++版本】
|
2月前
|
存储 算法 NoSQL
【C/C++ 数据结构 概念】计算机数据结构基础:探索核心概念与术语
【C/C++ 数据结构 概念】计算机数据结构基础:探索核心概念与术语
40 0
|
2月前
|
设计模式 存储 缓存
【C++ 基本概念】深入探索C++ RTTI 特性
【C++ 基本概念】深入探索C++ RTTI 特性
62 0
|
2月前
|
安全 编译器 C++
【C++20概念】编译时多态性的力量
【C++20概念】编译时多态性的力量
50 0
|
2月前
|
算法 安全 编译器
【C++20 新特性Concepts 概念】C++20 Concepts: Unleashing the Power of Template Programming
【C++20 新特性Concepts 概念】C++20 Concepts: Unleashing the Power of Template Programming
48 0
|
2月前
|
编译器 API 数据安全/隐私保护
深入对比:Qt 的 QFile/QFileInfo 和与 C++17 Filesystem 和标准文件流 的细节剖析
深入对比:Qt 的 QFile/QFileInfo 和与 C++17 Filesystem 和标准文件流 的细节剖析
103 3
|
2月前
|
编译器 Linux C语言
C/C++ 常见函数调用约定(__stdcall,__cdecl,__fastcall等):介绍常见函数调用约定的基本概念、用途和作用
C/C++ 常见函数调用约定(__stdcall,__cdecl,__fastcall等):介绍常见函数调用约定的基本概念、用途和作用
23 0
|
9天前
|
存储 人工智能 编译器
【重学C++】【指针】一文看透:指针中容易混淆的四个概念、算数运算以及使用场景中容易忽视的细节
【重学C++】【指针】一文看透:指针中容易混淆的四个概念、算数运算以及使用场景中容易忽视的细节
19 1
|
10天前
|
Linux C++
c++的学习之路:24、 二叉搜索树概念
c++的学习之路:24、 二叉搜索树概念
30 1
|
24天前
|
人工智能 机器人 Linux
【C++】Linux下如何查看opencv的版本
【C++】Linux下如何查看opencv的版本