admin管理员组文章数量:1570219
printf函数是C语言的标准函数库中的一个输出函数,它的功能就是表面上把数据输出到屏幕中。这里要注意一下,我提到了一个词是“表面”!看似好像C语言的printf函数把数据输出到屏幕上显示出来,其实printf函数是把数据输出给一个“流”,这个流叫做“stdout”,而不是真的直接输出到屏幕。是不是有点意思?下面看我详细讲来!
一、计算机的输出设备
计算机有很多的输出设备,我们最常见的就是显示器,也就是常说的“屏幕”。但是计算机的输出设备可远远不止显示器这个屏幕。还有一些输出设备,比如:打印机。你办公的电脑和你学习的电脑一般都会连接着一台打印机吧,此时打印机就算是一个输出设备;
音箱。电脑内置的音箱毕竟性能有限,不足以播出优美的歌声。有的音乐发烧友会使用电脑外带一组音箱,通过更专业的音箱来享受较好的音乐效果,这里的音箱也是输出设备。
U盘、硬盘等。你常用的U盘等接在电脑的USB接口上,只要向U盘拷贝数据,此时U盘也是输出设备。
一台计算机可以外接这么多的输出设备,但是C程序代码中的printf函数可不知道有这么多的外接设备,它是怎么向外输出数据的呢?
二、stdout流
既然计算机外接了这么多的输出设备,C语言的printf函数显然不可能直接跟显示器、跟打印机、跟音箱打交道,聪明的程序设计者想出了一个方法:把所有的这些外接的输出设备全部用一个叫做“stdout流”的东西统一表示。说白了,就是在C程序和具体的输出设备之间多了一个stdout流。
对于C程序而言,C程序的printf函数只把数据输出到stdout流,再由操作系统把数据从这个stdout流中拿出给到具体的输出设备。比如如下这段C程序代码:
如果直接编译运行,C程序代码会将字符串'1234"输出到stdout流,再由操作系统将字符串“1234”送到显示器上显示。
如果我用一个重定向操作符,就像这样:
那么C程序代码还是会将字符串“1234”输出到stdout流,此时操作系统会将字符串“1234”送到一个文本文件“1.txt”中了。当你打开这个文本文件,你会发现其中的内容就是“1234”。
所以,C语言中的printf函数并不是将输出直接输出到显示器屏幕,而是输出到一个叫做stdout的流中,这个stdout流如果代表了显示器,那么printf函数就输出到显示器屏幕;如果代表了其他的输出设备,printf函数就输出到其他的输出设备上。你明白了吗?
版权声明:本文标题:c语言将字符输出到屏幕中央,C语言printf“()”真的会将输出发送到屏幕吗? 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727667028a1124732.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论