#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define NELEMS(array) (sizeof(array)/sizeof(array[0]))
typedef struct Nameval Nameval;
struct Nameval{
char *name;
int value;
};
Nameval htmlchars[]=
{
"aelig", 0x00c6,
"aacute", 0x00c1,
"acirc", 0x00c2,
"zeta", 0x03b6,
};
int nvcmp(const void *va,const void*vb)
{
const Nameval *a,*b;
a=(Nameval*)va;
b=(Nameval*)vb;
return strcmp(a->name,b->name);
}
int lookup(char * name,Nameval tab[],int ntab)
{
Nameval key,*np;
key.name=name;
key.value=0;
np=(Nameval*)bsearch(&key,tab,ntab,sizeof(tab[0]),nvcmp);
if(np==NULL)return -1;
else return np-tab;
}
int main(int argc,char *argv[])
{
int half;
half=lookup("acirc",htmlchars,NELEMS(htmlchars));
printf("%d",half);
return 0;
}
bsort
最新推荐文章于 2023-05-16 16:29:34 发布