c语言 printout属于哪个函数库
精选回答
中年不遇 2023-08-22 15:59:50
C语言printf“()”真的会将输出发送到屏幕吗?
先来看一下C语言的printf()函数的实现源码,实际上是调用的vprintf方法,而vprintf方法又调用了vfprintf方法,这个方法是将字符串输出到标准输出流stdout里面,与它关联的是一个FILE对象,这个FILE对象的文件描述符是非负整数。
对于标准输出stdout来说这个整数是1,如果是错误输出stderr那就是2,标准输入stdin为0。
默认情况下文件描述符0、1、2是和终端关联的,所以我们可以看到屏幕上的结果。
可见,printf()并不是将结果直接发送到屏幕上的,它是通过将内容输入到一个不可见的文件中,这个文件描述符关联终端进行显示结果的。
如果我们不希望将结果输出到终端,那么需要进行重定向,即使用>符号将结果重定向到一个文件中。
C语言的printf不是把字符串输出到屏幕,而是写入到一个特殊文件。
这个特殊文件你在磁盘上是看不见的,只能通过文件描述符来引用,并且每个进程都有这种特殊文件。
C语言的程序运行起来以后,printf把内容输出到这个文件,而这个文件一般都与命令行终端(或者说的通俗一点,命令行窗口)关联起来的,所以你可以在屏幕上看到输出。
![](http://yyk.iask.sina.com.cn/pic/fimg/160992401921076973620.jpg)
相关推荐
3公顷500平方米多少公顷
1公顷等于10000平方米,500平方米等于零点零五平方米,3公顷500平方米等于三点零五公顷。...
展开详情什么原来什么写句子
1、教室里天天早晨这么干净,原来是小明提前到校打扫的。2、这里原来是一片沙漠,现在已经绿树成阴了。3、坑害顾客的“精品”原来是伪劣产品冒充的。4、身后响起了叮当的车铃声,我回头一看,原来是好朋友李彤。5、噢,原...
展开详情苹果ipcc是什么意思
苹果ipcc是爱思助手,具体的意思是:爱思助手又称爱思苹果刷机助手,是一款专业的苹果刷机助手、苹果越狱助手。免费为苹果用户提供百万正版苹果软件、热门游戏、苹果铃声、高清壁纸,免AppIeID高速一键下载。备份数...
展开详情银行卡开户行名称是什么意思
银行卡开户行名称就是办理开户手续的银行营业网点。一般来讲就是用户最初办理存折或者银行卡时发卡的银行。开户行名称在存折上会有登记,银行开具的开户凭单上也是会有显示的。准确的开户行名称有利于财务人员的汇款处理速度,...
展开详情