c语言 printout属于哪个函数库

c语言 printout属于哪个函数库,第1张

c语言 printout属于哪个函数库 C语言printf“()”真的会将输出发送到屏幕吗?

先来看一下C语言的printf()函数的实现源码,实际上是调用的vprintf方法,而vprintf方法又调用了vfprintf方法,这个方法是将字符串输出到标准输出流stdout里面,与它关联的是一个FILE对象,这个FILE对象的文件描述符是非负整数。

对于标准输出stdout来说这个整数是1,如果是错误输出stderr那就是2,标准输入stdin为0。

默认情况下文件描述符0、1、2是和终端关联的,所以我们可以看到屏幕上的结果。

可见,printf()并不是将结果直接发送到屏幕上的,它是通过将内容输入到一个不可见的文件中,这个文件描述符关联终端进行显示结果的。

如果我们不希望将结果输出到终端,那么需要进行重定向,即使用>符号将结果重定向到一个文件中。

C语言的printf不是把字符串输出到屏幕,而是写入到一个特殊文件。

这个特殊文件你在磁盘上是看不见的,只能通过文件描述符来引用,并且每个进程都有这种特殊文件。

C语言的程序运行起来以后,printf把内容输出到这个文件,而这个文件一般都与命令行终端(或者说的通俗一点,命令行窗口)关联起来的,所以你可以在屏幕上看到输出。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
乐在赚 » c语言 printout属于哪个函数库

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情