fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6. int find_substring(char * buffer, int size, char * substring)
  7. {
  8. char * init_buffer= buffer;
  9. char c, sc;
  10. size_t len;
  11.  
  12. if ((c = *substring++) != 0) {
  13. len = strlen(substring);
  14. do {
  15. do {
  16. if(buffer-init_buffer>size-len)
  17. {
  18. return -1;
  19. }
  20. sc = *buffer++;
  21. } while (sc != c);
  22. } while (strncmp(buffer, substring, len) != 0);
  23. }
  24. return buffer-init_buffer+len;
  25. }
  26.  
  27. int main(void) {
  28. char text[9]="ababababc";
  29. char * find="abc";
  30. printf("%d\n",find_substring(text,9,find));
  31. return 0;
  32. }
  33.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
9