lab7-fix2023/lib/printf.c
2023-11-22 16:16:24 +08:00

34 lines
382 B
C

#include "stdio.h"
static void
printfputch(int ch, int *cnt)
{
char buf = (char)ch;
write(STD_OUT, &buf, 1);
(*cnt)++;
}
int
vprintf(const char *fmt, va_list ap)
{
int cnt = 0;
vprintfmt((void *)printfputch, &cnt, fmt, ap);
return cnt;
}
int
printf(const char *fmt, ...)
{
va_list ap;
int rc;
va_start(ap, fmt);
rc = vprintf(fmt, ap);
va_end(ap);
return rc;
}