?? print.c
字號:
#include <stdio.h>#include <stdlib.h>#include "mystring.h"int _printf(const char *fmt, ...){ int *stack = (int *)&fmt; char *str; str = (char *)malloc(sizeof(char) * MAX_LEN); if(!str) return -1; char *buf = (char *)malloc(sizeof(char) * MAX_LEN); if(!buf) return -1; char *pcur = buf; while(*fmt) { if(*fmt == '%') { switch(*(fmt + 1)) { case '%': *pcur++ = '%'; fmt += 2; break; case 'c': *pcur++ = *(++stack); fmt += 2; break; case 'd': str = int_char(*(++stack)); while(*str) *pcur++ = *str++; fmt += 2; break; case 's': istrcpy(str, (char *)*(++stack)); while(*str) *pcur++ = *str++; fmt += 2; break; case 'p': str = uint_hex(*(++stack)); fmt += 2; *pcur++ = '0'; *pcur++ = 'x'; while(*str) *pcur++ = *str++; break; default: *pcur++ = *fmt++; } } else *pcur++ = *fmt++; } *pcur = '\0'; while(*buf) putchar(*buf++); return 1;}int main(){ int i; char *str = "STRING"; char *str2 = "new printf"; int a[10000] = {1, 2, 3}; _printf("_printf:\n"); _printf("%dHel%slo%c, i%%Linux%d, %c, %s, %p\n", 7555555, str2, 'h', 0, 'A', str, &str); _printf("printf:\n"); printf("%dHel%slo%c, i%%Linux%d, %c, %s, %p\n", 7555555, str2, 'h', 0, 'A', str, &str); for(i = 0; i < 3; i++) { printf("a[%d] = %d\n", i, a[i]); _printf("a[%d] = %d\n", i, a[i]); } return 0;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -