proc.c
来自「一个学习SNMP项目:tmoerlan.」· C语言 代码 · 共 40 行
C
40 行
/* Tolerant /proc file parser. Copyright 1998 Andi Kleen */ #include <string.h> #include <stdarg.h>#include <stdio.h>/* Caller must free return string. */ char * proc_gen_fmt(char *name, FILE *fh, ...){ char buf[512], format[512] = ""; char *title, *head; va_list ap; if (!fgets(buf, sizeof buf, fh)) return NULL; va_start(ap,fh); head = strtok(buf, " \t"); title = va_arg(ap, char *); while (title && head) { if (!strcmp(title, head)) { strcat(format, va_arg(ap, char *)); title = va_arg(ap, char *); } else { strcat(format, "%*[^ \t]"); } strcat(format, " "); head = strtok(NULL, " \t"); } va_end(ap); if (title) { fprintf(stderr, "warning: %s does not contain required field %s\n", name, title); return NULL; } return strdup(format); }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?