lsearch.c

来自「操作系统源代码」· C语言 代码 · 共 51 行

C
51
字号
#include <lib.h>#include <string.h>/*  lsearch(3)  and  lfind(3) * *  Author: Terrence W. Holm          Sep. 1988 */#include <stddef.h>_PROTOTYPE( char *lsearch, (char *key, char *base,			    unsigned *count, unsigned width,			    int (*keycmp)(const void *, const void *)));_PROTOTYPE( char *lfind, (char *key, char *base,			    unsigned *count, unsigned width,			    int (*keycmp)(const void *, const void *)));char *lsearch(key, base, count, width, keycmp)char *key;char *base;unsigned *count;unsigned width;_PROTOTYPE( int (*keycmp), (const void *, const void *));{  char *entry;  char *last = base + *count * width;  for (entry = base; entry < last; entry += width)	if (keycmp(key, entry) == 0) return(entry);  bcopy(key, last, width);  *count += 1;  return(last);}char *lfind(key, base, count, width, keycmp)char *key;char *base;unsigned *count;unsigned width;_PROTOTYPE( int (*keycmp), (const void *, const void *));{  char *entry;  char *last = base + *count * width;  for (entry = base; entry < last; entry += width)	if (keycmp(key, entry) == 0) return(entry);  return((char *)NULL);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?