全部学习汇总:https:///GreyZhang/little_bits_of_linux

代码中有一个printf函数的实现,这里面是通过write函数来实现的,而这个write又用到了vsprintf函数。关于vsprintf函数的返回值:

这个函数的返回值其实是写入到printbuf中的字节数。
而write,其实是写在unistd.h头文件声明的库文件。这个函数的功能是想文件中写入信息,而第一个参数是文件句柄。通过测试,我发现句柄1其实是代表了一个stdio。
写一段测试代码:

编译测试执行:

首先,看得出第一个句柄代表的是标准IO,而返回值则是代表写入的字节的数目。第二次写入,返回值-1其实是代表了写入失败。
这么看也基本上能够明确,这里的printf其实是输入到了标准的输入输出上。
















