sintaxis libreria imprimir formato especificadores c printf stdio

libreria - Código para la función printf en C



printf(% d (1)

Posible duplicado:
código fuente de las funciones c / c ++

Me preguntaba dónde puedo encontrar el código C que se usa para que cuando escriba printf ("¡Hola mundo!"); en mi programa C para saber que tiene que imprimir esa cadena a STDOUT. Busqué en <stdio.h>, pero allí solo pude encontrar su prototipo int printf (formato const char *, ...), pero no cómo se ve internamente.


Aquí está la versión GNU de printf ... puedes verla pasar en stdout a vfprintf :

__printf (const char *format, ...) { va_list arg; int done; va_start (arg, format); done = vfprintf (stdout, format, arg); va_end (arg); return done; }

Mira aquí.

Aquí hay un enlace a vfprintf ... todo el formato ''magia'' sucede aquí.

Lo único que es realmente "diferente" acerca de estas funciones es que usan varargs para obtener argumentos en una lista de argumentos de longitud variable. Aparte de eso, son simplemente tradicionales C. (Esto está en contraste con el equivalente de printf de Pascal, que se implementa con soporte específico en el compilador ... al menos estaba de vuelta en el día).