Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string.h>
- #include <stdio.h>
- unsigned long stateMachineSearch (char *text, char *string) {
- char c;
- int start, offset = 0, i = 0;
- FILE *fp = fopen (text, "rb");
- while ((c = fgetc (fp)) != EOF) {
- if (c == string[offset]) {
- if (offset == 0)
- start = i;
- if (offset == (strlen (string) - 1)) {
- fclose (fp);
- return start;
- }
- offset++;
- } else {
- offset = 0;
- start = 0;
- i++;
- }
- }
- fclose (fp);
- return -1;
- }
- int main (int argc, char *argv[]) {
- if (argc != 3) {
- fprintf (stderr, "USAGE: ./bitap [filename] [string]\n");
- return 1;
- } else {
- unsigned long a = stateMachineSearch (argv[1] , argv[2]);
- printf ("pos: %zd\n", a);
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement