From c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:08:27 +0200 Subject: add: graphs et rushs --- rushs/tinyprintf/my_strstr/my_strstr.c | 34 ++++++++++++++++++++++++++++++++++ rushs/tinyprintf/my_strstr/my_strstr.h | 6 ++++++ 2 files changed, 40 insertions(+) create mode 100644 rushs/tinyprintf/my_strstr/my_strstr.c create mode 100644 rushs/tinyprintf/my_strstr/my_strstr.h (limited to 'rushs/tinyprintf/my_strstr') 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 + +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 */ -- cgit v1.2.3