Код для функции printf в C

Возможный дубликат:
исходный код функций c / c ++

Мне было интересно, где я могу найти код C, который используется так, что когда я пишу printf («Hello World!»); в моей программе C, чтобы знать, что она должна печатать эту строку в STDOUT. Я смотрел в , но там я мог найти только свой прототип 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; } 

Глянь сюда.

Вот ссылка на vfprintf … здесь происходит все «магия» форматирования.

Единственное, что действительно «отличается» от этих функций, это то, что они используют varargs для получения аргументов в списке аргументов переменной длины. Помимо этого, они просто традиционные C. (Это контрастирует с эквивалентом printf от Pascal, который реализуется с конкретной поддержкой в ​​компиляторе … по крайней мере, это было в тот же день.)

  • 'printf' vs. 'cout' в C ++
  • Что произойдет, если '&' не будет введен в утверждение 'scanf'?
  • Есть ли эквивалент Windows для fdopen для HANDLE?
  • Каковы правила автоматического сброса буфера stdout в C?
  • Interesting Posts

    Как я могу создать криптографически безопасное псевдослучайное число в C #?

    Что означает «/», «./», «../» при передаче пути?

    Что делает «Оптимизация дисков» в Windows 8?

    Как я могу найти MAX с реляционной алгеброй?

    Как запустить exe в 32-разрядном режиме на 64-битной машине?

    html5 audio player – jquery toggle click play / pause?

    Могу ли я программно очищать уведомления моего приложения от Центра уведомлений iOS 5?

    Как управлять компьютерами с помощью моей учетной записи Firefox Sync?

    Можем ли мы создать экземпляр интерфейса на Java?

    Как сделать Notepad ++ открытым каждый файл в новом окне?

    Не удается подключиться по беспроводной сети с помощью redhat9

    Как предотвратить java.lang.String.split () от создания ведущей пустой строки?

    Детерминированный способ найти, какие установленные шрифты поддерживают данный символ или скрипт Unicode?

    Отключить значок док-станции

    Скрыть системную панель в планшетах

    Давайте будем гением компьютера.