getword.c

来自「一套接口」· C语言 代码 · 共 34 行

C
34
字号
static char rcsid[] = "$Id: getword.c 6 2007-01-22 00:45:22Z drhanson $";#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 + -
显示快捷键?