c - Implementation of printf -
can please explain me implementation of printf
prints string correctly?
version 1:
printf(const char * s) { while(*s != '\0') { write(s, 1, f); s++; } }
version 2:
printf(const char *s) { write(s, strlen(s), f); }
both print "a string correctly". print given string in argument correctly.
if question better implementation suggest depends on implementation of write.
option 1 slower if write call has large enough overhead or can buffer characters before committing write.
option 2 slower if write unoptimized. example puts character character on serial connection. here pay additional iteration of string strlen.
note write call takes file descriptor first argument, not last.
Comments
Post a Comment