PDA

Visualizza la versione completa : Com'Ŕ implementata printf?


XWolverineX
10-10-2008, 08:54
Ieri durante le ballose ore di fisica all'universitÓ mi Ŕ capitato un libro di informatica tra le mani e faceva vedere il prototipo di printf


int printf(const char *format, ...);


dove ... Ŕ una lista variabile di argomenti.

Cosi ho cominciato a pensare come implementarla senza sapere effettivamente il numero degli argomenti, e avrei pensato a

[list=1]
Split della stringa format sui caratteri %
Contare le occorrenze
segnare il tipo di argomento (dopo il %)
usare va_arg con un float,int o quel che sia a seconda dell'argomento preso
sprintf di tutto l'accrocchio ricevuto
putchar finale.
[/list=1]

L'implementazione sembra corretta, ma mi chiedevo, Ŕ quella attualmente usata?

menphisx
10-10-2008, 16:16
Sembra corretto, anche se ci sono tanti modi di farla.
Se vuoi puoi guardare il codice della GNU libc :)

:ciauz:

menphisx
10-10-2008, 16:17
Guarda qui: http://www.gnu.org/software/libc/

Loading