getword.c
来自「传说中的c语言四书五经:一、The C Programming Language」· C语言 代码 · 共 34 行
C
34 行
static char rcsid[] = "$Id: H:/drh/idioms/book/RCS/table.doc,v 1.13 1997/10/27 23:10:11 drh Exp $";
#include <ctype.h>
#include <string.h>
#include <stdio.h>
#include "assert.h"
#include "getword.h"
int getword(FILE *fp, char *buf, int size,
int first(int c), int rest(int c)) {
int i = 0, c;
assert(fp && buf && size > 1 && first && rest);
c = getc(fp);
for ( ; c != EOF; c = getc(fp))
if (first(c)) {
{
if (i < size - 1)
buf[i++] = c;
}
c = getc(fp);
break;
}
for ( ; c != EOF && rest(c); c = getc(fp))
{
if (i < size - 1)
buf[i++] = c;
}
if (i < size)
buf[i] = '\0';
else
buf[size-1] = '\0';
if (c != EOF)
ungetc(c, fp);
return i > 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?