1 typedef __builtin_va_list va_list; 2 #include <stdio.h> 3 void 4 (x_fprintf)(FILE *fd, const char *fmt, ...) { 5 va_list va; 6 int rc; 7 8 __builtin_va_start(va,fmt); 9 rc = vfprintf(fd, fmt, va); 10 __builtin_va_end(va); 11 if (rc == (-1) || fflush(fd) == (-1)) { 12 perror("vfprintf"); 13 exit(1); 14 } 15 } 16 17 int main()18main() { 19 x_fprintf(stdout, "hello wolrld %s, %d %ld\n", 20 "hehe", "hm"[1], 34722777); 21 } 22 23