/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_utils_str_1.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/11 22:22:01 by fgras-ca #+# #+# */ /* Updated: 2024/01/16 13:36:33 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ #include "../cub3d.h" size_t ft_strlen(const char *s) { size_t i; i = 0; if (s) while (s[i]) i++; return (i); } char *ft_strdup(const char *src) { char *cp; size_t i; i = 0; cp = (char *)malloc(ft_strlen(src) + 1); if (!cp) return (NULL); while (src[i]) { cp[i] = src[i]; i++; } cp[i] = '\0'; return (cp); } char *ft_strjoin(char *left_str, char *buff) { size_t i; size_t j; char *str; if (!left_str) { left_str = (char *)malloc(1 * sizeof(char)); left_str[0] = '\0'; } if (!left_str || !buff) return (NULL); str = malloc(sizeof(char) * ((ft_strlen(left_str) + ft_strlen(buff)) + 1)); if (str == NULL) return (NULL); i = -1; j = 0; if (left_str) while (left_str[++i] != '\0') str[i] = left_str[i]; while (buff[j] != '\0') str[i++] = buff[j++]; str[ft_strlen(left_str) + ft_strlen(buff)] = '\0'; free(left_str); return (str); } char *ft_strchr(const char *s, int c) { int i; i = 0; if (!s) return (0); if (c == '\0') return ((char *)&s[ft_strlen(s)]); while (s[i]) { if (s[i] == (char)c) return ((char *)&s[i]); i++; } return (0); } int ft_strncmp(const char *s1, const char *s2, size_t n) { size_t i; i = 0; if (n == 0) { return (0); } while (s1[i] == s2[i] && (s1[i] != '\0' || s2[i] != '\0') && i < (n - 1)) { i++; } return ((unsigned char)s1[i] - (unsigned char)s2[i]); }