gpt4 book ai didi

C语言中printf函数的代码

转载 作者:行者123 更新时间:2023-11-30 16:43:34 25 4
gpt4 key购买 nike

Possible Duplicate:
source code of c/c++ functions

我想知道在哪里可以找到当我编写 printf("Hello World!"); 时使用的 C 代码。在我的 C 程序中,要知道它必须将该字符串打印到 STDOUT。我查看了 ,但在那里我只能找到它的原型(prototype) int printf(const char *format, ...),但看不到它内部的样子。

最佳答案

这是 printf 的 GNU 版本...您可以看到它将 stdout 传递到 vfprintf:

__printf (const char *format, ...)
{
va_list arg;
int done;

va_start (arg, format);
done = vfprintf (stdout, format, arg);
va_end (arg);

return done;
}

See here.

这是a linkvfprintf...所有格式化“魔法”都发生在这里。

这些函数真正“不同”的唯一一点是它们使用可变参数来获取可变长度参数列表中的参数。除此之外,它们只是传统的 C。(这与 Pascal 的 printf 等效项形成对比,后者是在编译器中的特定支持下实现的......至少在当时是这样。)

关于C语言中printf函数的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45151976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com