diff options
| author | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:08:27 +0200 |
|---|---|---|
| committer | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:08:27 +0200 |
| commit | c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c (patch) | |
| tree | 3e4f42f93c7ae89a364e4d51fff6e5cec4e55fa9 /rushs/tinyprintf/my_strstr | |
add: graphs et rushs
Diffstat (limited to 'rushs/tinyprintf/my_strstr')
| -rw-r--r-- | rushs/tinyprintf/my_strstr/my_strstr.c | 34 | ||||
| -rw-r--r-- | rushs/tinyprintf/my_strstr/my_strstr.h | 6 |
2 files changed, 40 insertions, 0 deletions
diff --git a/rushs/tinyprintf/my_strstr/my_strstr.c b/rushs/tinyprintf/my_strstr/my_strstr.c new file mode 100644 index 0000000..36ac439 --- /dev/null +++ b/rushs/tinyprintf/my_strstr/my_strstr.c @@ -0,0 +1,34 @@ +#include "my_strstr.h" + +#include <stddef.h> + +int my_strstr(const char *haystack, const char *needle) +{ + if (needle == NULL || *needle == '\0') + { + return 0; + } + + for (int i = 0; haystack[i]; i++) + { + if (haystack[i] == needle[0]) + { + int j; + for (j = 0; + haystack[i + j] && needle[j] && needle[j] == haystack[i + j]; + j++) + { + continue; + } + if (needle[j] == '\0') + { + return i; + } + if (haystack[i + j] == '\0') + { + return -1; + } + } + } + return -1; +} diff --git a/rushs/tinyprintf/my_strstr/my_strstr.h b/rushs/tinyprintf/my_strstr/my_strstr.h new file mode 100644 index 0000000..1b734b2 --- /dev/null +++ b/rushs/tinyprintf/my_strstr/my_strstr.h @@ -0,0 +1,6 @@ +#ifndef MY_STRSTR_H +#define MY_STRSTR_H + +int my_strstr(const char *haystack, const char *needle); + +#endif /* ! MY_STRSTR_H */ |
