C++流到底是什么东西
发布网友
发布时间:2022-05-29 22:40
我来回答
共1个回答
热心网友
时间:2024-03-08 09:21
O总的来说分为两种,一种是流,分为字符流、字节流、位流等等,另一种是记录、数据块等等;两者的区别是,流的数据中没有同步信息、管理信息,只是单纯的数据,而记录、数据块则存在同步和管理信息。
C++的IO流属于字符流,数据在流中的内部表示是字符,不是字节或位。IO流是文本IO,不是二进制IO,但它常常因为具有文件二进制模式而被人误解为既是文本IO也是二进制IO,这是错误的,binary模式仅仅暂时性抑制了IO流中的格式化层及与操作系统相关的一些转换(例如\n),并没有改变IO流的文本IO性质,即在binary模式中的流仍然是字符流(只不过没有进行自动转换),而不是字节流。
C++的IO流分为两层:格式化层和传输层。
格式化层进行输出中的格式化及输入中的解析,例如将浮点数的内部二进制表示转换为打印字符或者从缓冲中抽取字符转换为整数的二进制内部表示等等。
传输层包括缓冲区、编码转换和传递层,缓冲区不用说,就是内部字符的缓冲啦,编码转换用于字符的内部表示和外部表示之间的转换,IO流的编码转换只支持宽字符和多字节字符集之间的转换,传递层用于与外部设备之间的连接。
C++的IO流对象默认情况下是与C的stdin、stdout、stderr连接在一起的,视具体实现不同,IO流可能使用C的缓冲区而自身没有缓冲区,也可能两者共享相同的缓冲区,这是IO流比C的输入输出函数慢的一个原因,但可以将两者解开,通过函数ios_base::sync_with_stdio( false )进行,如果参数为true,则重新连接。在某些环境下,例如g++,两者连接解开后,IO流的效率是C的输入输出函数的3倍。
c 流是什么意思
c 流是什么意思?其实 c 流就是一种流式输入输出的机制。在 c 语言中,可以使用标准输入输出流来进行 I/O 操作。流的概念就像是一条河流,数据在程序中从输入流中流入,经过处理后再流出到输出流中。因此,使用流式 I/O 可以实现程序与外部环境的数据传递。在 c 语言中,需要使用 FILE 结构体...
C语言“流”是什么概念
C里的文件流,C里标准文件方式把文件当作流来看,也就是有一个内部缓冲buffer(在C库内部建立,一般为512B),每次以标准方式打开文件时,读入时先将数据读到这个缓冲区里,写的时候也是先写入缓冲区里。C里标准输入就是stdin,标准输出就是stdout,C对键盘输入(比如scanf)和屏幕输出(比如printf)的...
C语言“流”是什么概念
C语言的I/O系统为用户提供了一个接口,该接口与实际的存取设备无关。只是设备的一个抽象表示形式。这个抽象的接口称为流,实际的设备称为文件。C文件系统可以与各种设备一起使用,如打印机、硬盘、终端等,缓冲文件系统可以将每个设备转换成逻辑设备,即所谓的流。所有的流工作方式类似,所以很容易操作不...
c语言中什么是流
流是程序输入或输出的一个连续的字节序列,设备(例如鼠标、键盘、磁盘、屏幕、调制解调器和打印机)的输入和输出都是用流来处理的。在C语言中,所有的流均以文件的形式出现---不一定是物理磁盘文件,还可以是对应于某个输入/输出源的逻辑文件。
C语言中流指什么,不要复制,用自己的理解解释一下,感谢了
流 原从stream翻译来。什么电脑外设控制,磁盘文件输入输出,只要是输入或者输出所产生的数据都是流。从linux对于硬件设备的控制很容易看出,对于硬件和磁盘上的文件,C语言的操作方法基本上一样。linux中C语言也是把硬件当做文件进行操作。(本质上,它把外设与txt文本文件看成一类东西。)流的概念的提出,...
流体管道中什么是C,D类流体
A2类流体:指有毒流体,被吸入或与人体接触后,能造成不同程度的中毒,脱离接触后可以治愈.B类流体:流体在环境或操作条件下,是一种气体或可闪蒸产生气体的液体,这些流体能点燃并在空气中连续燃烧.C类流体:不包括D类流体的不可燃/无毒的液体.D类流体:指不可燃、无毒设计压力小于或等于1.0Mpa和设计温度...
年轻潮流的C 是什么意思
C 是一种年轻潮流语言中经常会出现的一个字母缩写。它可以代表许多不同的词语,例如:Cool、Chill、Cute、Crazy、Clever 等等。大多数年轻人在现实或者虚拟社交场合中使用 C 来表达自己的情感和态度。C 这个字母在年轻人之间已经成为一种共同语言的标志,对于他们来说,这不仅仅是一种语言的固有形式,它...
管道中什么是C、D类流体
C类流体指不包括D类流体的不可燃,无毒的流体;D类流体指不可燃、无毒、设计压力小于或等于1.0MPa和设计温度高于-20~186度之间的流体。
NE有什么流,怎么打,好处是什么,弱点是什么,请说一下
NE最知名的最常用的是雄鹿流,打什么族都通吃,NE内战一般是拼胸,或者弓箭手和鸟德,NE打HUM一般是雄鹿,打UD一般是纯鹿或者雄鹿,打兽族一般是吹风流,大量鸟德升级吹风,或者雄鹿纯鹿都可以打 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 无辩不争 2009-03-14 · TA获得超过2430个赞 知道大有可...
双一流的A+、 A、 B+、 B、 C有什么区别?
双一流,是针对学校所指的,即泛指一流大学和一流学科高校。这个范围的高校,绝大多数是原来的985或211高校,然后非211的某个高校如果拥有 A+学科,凭借该学科优势也被列为一流学科建设高校。至于A+、A、B+、B、C学科,是国内第四轮学科评估中对各高校学科评估后,根据该校该学科评估成绩在国内高校...