From 9396471afe629d6b136227eca0a2aa323aafee5e Mon Sep 17 00:00:00 2001 From: hugodu69 Date: Thu, 12 Dec 2019 11:12:43 +0100 Subject: [PATCH] erreur trouvee dans split et mapi --- srcs/part2/main.c | 88 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 72 insertions(+), 16 deletions(-) diff --git a/srcs/part2/main.c b/srcs/part2/main.c index 639f964..a9e78bd 100644 --- a/srcs/part2/main.c +++ b/srcs/part2/main.c @@ -2,16 +2,23 @@ #include +char touppercase(unsigned int i, char c) +{ + if (i < 3 && 'a' <= c <= 'z') + c -= 32; + return (c); +} + void print_ft_itoa(int i) { - printf("itoa : %d -> '%s'\n", i, ft_itoa(i)); + printf("itoa : %d -> '%s'\n", i, ft_itoa(i)); } void print_ft_split(char *str, char c) { char **tab; - printf("split: [%s] [%c] -> ", str, c); + printf("split : [%s] [%c] -> ", str, c); tab = ft_split(str, c); while (*tab != NULL) printf("[%s]", *(tab++)); @@ -20,26 +27,23 @@ void print_ft_split(char *str, char c) void print_ft_strjoin(char *s1, char *s2) { - printf("join : '%s' + '%s' -> '%s'\n", s1, s2, ft_strjoin(s1, s2)); + printf("join : '%s' + '%s' -> '%s'\n", s1, s2, ft_strjoin(s1, s2)); } -char touppercase(unsigned int i, char c) +void print_ft_strmapi(char const *s, char (*f)(unsigned int, char)) { - if (i < 3) - c -= 32; - return (c); -} - -void print_ft_strmapi(char const *s) -{ - char touppercase(unsigned int, char); - - printf("mapi : '%s' -> '%s'\n", s, ft_strmapi(s, touppercase)); + printf("mapi : '%s' ", s); + if (f) + printf("'touppercase' -> "); + else + printf("(null) -> "); + printf("'%s'\n", ft_strmapi(s, f)); } void print_ft_substr(char const *s, unsigned int start, size_t len) { - printf("substr: [%s](%u,%zu) -> '%s'\n", s, start, len, ft_substr(s, start, len)); + printf("substr : [%s](%u,%zu) -> ", s, start, len); + printf("'%s'\n", ft_substr(s, start, len)); } void print_ft_strtrim(char const *s, char const *set) @@ -49,21 +53,73 @@ void print_ft_strtrim(char const *s, char const *set) int main() { + char touppercase(unsigned int, char); + print_ft_itoa(1338); + print_ft_itoa(0); + print_ft_itoa(-1); + print_ft_itoa(1); + print_ft_itoa(-1218927987); + print_ft_itoa(128979827); + printf("\n"); print_ft_split(" dfs zfe f ez f fez ", ' '); +// print_ft_split(NULL, 0); + print_ft_split("", 0); + print_ft_split(" ", 0); + print_ft_split("", ' '); + print_ft_split(" ", ' '); + print_ft_split("zlkefj ljef jl", '\0'); + print_ft_split("zd\nazd\nds", '\n'); + print_ft_split(" ", ' '); + printf("\n"); print_ft_strjoin("alpha", "bravo"); + print_ft_strjoin("", ""); + print_ft_strjoin(NULL, NULL); + print_ft_strjoin("", "fskjfhkj"); + print_ft_strjoin(NULL, ""); + print_ft_strjoin(NULL, "fsdf"); + print_ft_strjoin("", NULL); + print_ft_strjoin("sdffez", NULL); + printf("\n"); - print_ft_strmapi("truc"); + print_ft_strmapi("truc", touppercase); + print_ft_strmapi("truc", NULL); + print_ft_strmapi(NULL, touppercase); + print_ft_strmapi(NULL, NULL); + print_ft_strmapi("", touppercase); + print_ft_strmapi(" ", touppercase); + print_ft_strmapi("mlekgmlzkge", touppercase); + print_ft_strmapi("\0", touppercase); + print_ft_strmapi("f f f f", touppercase); + printf("\n"); print_ft_substr("zeff", 3, 4); + print_ft_substr(NULL, 1, 1); + print_ft_substr("srgz", 0, 0); + print_ft_substr("setzettzetzet", -1, -1); + print_ft_substr("ggzrg", -1, 3); + print_ft_substr("", 3, 2); + print_ft_substr("regrehehzhzh", 1, 23); + print_ft_substr("gzrgzgb zeez", 11, 0); + print_ft_substr("gzrgzgb zeez", 1123238713, 0); + print_ft_substr("gzrgzgb zeez", 1123238713, 2873981730); + print_ft_substr("gzrgzgb zeez", 1, 2873981730); + printf("\n"); print_ft_strtrim(" strtrim ", "m "); + print_ft_strtrim("", ""); + print_ft_strtrim(NULL, ""); + print_ft_strtrim("", NULL); + print_ft_strtrim(NULL, NULL); + print_ft_strtrim("efzfe fzef", ""); + print_ft_strtrim("efzfzelelijz", " "); + print_ft_strtrim(" e f zfzelelijz ", " "); return 0; }