Advertisement
NebAca

Untitled

Mar 28th, 2023
480
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.71 KB | None | 0 0
  1. void printf(char *format, ...) {
  2.     va_list ap;
  3.     va_start(ap, format);
  4.     char *ptr = format;
  5.     while(*ptr) {
  6.         if(*ptr == '%') {
  7.             char str[256] = {' '};
  8.             ptr++;
  9.             switch(*ptr++) {
  10.                 case 's':
  11.                     kputs(va_arg(ap, char *));
  12.                     break;
  13.                 case 'd':
  14.                     itoa(va_arg(ap, int64_t), str);
  15.                     kputs(str);
  16.                     break;
  17.  
  18.                 case 'u':
  19.                     itoa(va_arg(ap, uint64_t), str);
  20.                     kputs(str);
  21.                     break;
  22.             }
  23.         } else {
  24.             kputchar(*ptr++);
  25.         }
  26.     }
  27.     va_end(ap);
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement