diff --git a/main1 b/main1 new file mode 100644 index 0000000..49a9648 --- /dev/null +++ b/main1 @@ -0,0 +1,77 @@ +#include +#include +#include + +int strlen_my1(char s[]) +{ + char* p = s; + while (*p++); + return p - s - 1; +} + +int strlen_my2(char* s) { + char* p = s; + while (*p != '\0') { + p++; + } + return p - s; +} + +int strcmp_my(const char str1[], const char str2[]) { + int i = 0; + while (str1[i] != '\0' && str2[i] != '\0' && str1[i] == str2[i]) + i++; + return str1[i] - str2[i]; +} + +void strcpy_my(char* dest, char* src) +{ + while (*dest++ = *src++); +} + +void strcat_my(char* dest, char* src) { + while (*dest) dest++; + + while (*src) { + *dest = *src; + dest++; + src++; + } + + *dest = '\0'; +} + +void strchr_my(const char* str, int c, char** result) { + while (*str != '\0') { + if (*str == c) { + *result = (char*)str; + return; + } + str++; + } +} + +void test_strchr_my() { + const char* str1 = "Hello, World!"; + const char* str2 = "This is a test string."; + + // Пример 1: Поиск символа 'o' в строке "Hello, World!" + char* result1 = NULL; + strchr_my(str1, 'o', &result1); + if (result1 != NULL) { + printf("%ld\n", result1 - str1); + } + else { + printf("NULL\n"); + } + + // Пример 2: Поиск символа 'z' в строке "This is a test string." + char* result2 = NULL; + strchr_my(str2, 'z', &result2); + if (result2 != NULL) { + printf("%ld\n", result2 - str2); + } + else { + printf("NULL\n"); + } +} \ No newline at end of file