std :: cout如何知道要在哪里打印?

问题描述 投票:0回答:2

为什么当我运行C ++程序时终端窗口会打开,并且std::cout如何知道应该打印到该终端?

c++ cout c++-standard-library
2个回答
1
投票

每个操作系统都有所谓的“标准输出流”,当您使用cout时,c ++只是告诉操作系统打印到该流。操作系统决定了将其输出到哪里。


0
投票

编译器识别出您正在编写基于控制台的应用程序,并提供了适合您所编写程序类型的运行时环境。

通常在启动新项目时选择应用程序的类型,但是在较早的编译器中,控制台类型是唯一可用的类型。 MS-DOS和CP / M提供了终端服务,在该终端服务上,命令行解释器(例如“ command.com”)将成为默认程序,可以调用其他程序(例如“ myCppApp.exe”)。

终端服务包括一个输入流(您在键盘上键入的内容)和一个输出流(在屏幕上显示的内容)。这些被视为特殊文件,它们是只读(cin)和只写(cout)。

C / C ++通过cin / cout提供了对这些标准磁盘操作系统服务的访问。

当出现窗口时,而不是使用文本控制台(在某些计算机启动时或在BIOS设置中仍可以看到文本控制台,人们更喜欢使用在图形用户界面中模拟文本控制台的虚拟控制台窗口。] >

因此,它结合了一个提供假装环境的操作系统和一个基于您构建控制台应用程序的事实而提供运行时代码的编译器的组合。

© www.soinside.com 2019 - 2024. All rights reserved.