strings.c 671 B

123456789101112131415161718192021222324252627282930
  1. #include <assert.h>
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <strings.h>
  5. int main() {
  6. assert(!bcmp("hello", "hehe", 2));
  7. assert(bcmp("hello", "haha", 2));
  8. char* new = malloc(3);
  9. bcopy("hi", new, 3); // include nul byte
  10. assert(!strcasecmp("hi", new));
  11. assert(!strcasecmp("hi", "HI"));
  12. assert(!strncasecmp("hi", "HIHI", 2));
  13. bzero(new, 1);
  14. assert(*new == 0);
  15. assert(*(new+1) == 'i');
  16. assert(*(new+2) == 0);
  17. assert(ffs(1) == 1);
  18. assert(ffs(2) == 2);
  19. assert(ffs(3) == 1);
  20. assert(ffs(10) == 2);
  21. char* str = "hihih";
  22. assert(index(str, 'i') == str + 1);
  23. assert(rindex(str, 'i') == str + 3);
  24. }