1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#include <string.h> #define N 256 char* strpbrk(const char *s, const char *b) { char map[N]; memset(map, 0, N); for(;;) { map[*b] = 1; if(*b++ == 0) break; } while(map[*s++] == 0) ; if(*--s) return s; return 0; }