For The Best Thing In The World

Work Hard to Enjoy Them. bloom energy

printf与sprintf的实现

因为要修复Wine的Bug,需要重新实现sprintf, 于是我研究了wine中printf跟sprinf的实现。

其实printf跟sprintf实现的关键无非就是可变参数,利用此就可以写出一个功能简单的printf. 
我仔细研究了一下Wine里面的实现,发现printf跟sprintf的实现核心都用到了pfprintfa(就是根据参数%f,%d等转换的函数),不过重定向不一样。  
printf是用到了write_concole, sprintf是复制到buf里面~
实际上, printf这个我们常用的函数, 申请了内存, 用buf来存放输出的结果.