📄 rprintf.c.texi
字号:
#include <stdio.h>#include <printf.h>#include <stdarg.h>@grouptypedef struct @{ char *name; @} Widget;@end groupint print_widget (FILE *stream, const struct printf_info *info, va_list *app)@{ Widget *w; char *buffer; int len; /* @r{Format the output into a string.} */ w = va_arg (*app, Widget *); len = asprintf (&buffer, "<Widget %p: %s>", w, w->name); if (len == -1) return -1; /* @r{Pad to the minimum field width and print to the stream.} */ len = fprintf (stream, "%*s", (info->left ? - info->width : info->width), buffer); /* @r{Clean up and return.} */ free (buffer); return len;@}intmain (void)@{ /* @r{Make a widget to print.} */ Widget mywidget; mywidget.name = "mywidget"; /* @r{Register the print function for widgets.} */ register_printf_function ('W', print_widget, NULL); /* @r{No arginfo.} */ /* @r{Now print the widget.} */ printf ("|%W|\n", &mywidget); printf ("|%35W|\n", &mywidget); printf ("|%-35W|\n", &mywidget); return 0;@}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -