From c1a6c0c5edeff787f1002ab5115490adca658b3d Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Thu, 27 Feb 2020 12:02:33 +0100 Subject: [PATCH] function printf a la norme --- Makefile | 3 +- ft_printf | Bin 161416 -> 177152 bytes ft_printf.c | 183 ++++++++++++------ ft_printf.h | 13 +- srcs/aside.c | 101 ---------- ...idth_n_precision.c => ft_flag_transform.c} | 17 +- 6 files changed, 141 insertions(+), 176 deletions(-) delete mode 100644 srcs/aside.c rename srcs/{ft_width_n_precision.c => ft_flag_transform.c} (91%) diff --git a/Makefile b/Makefile index 2eb6a65..317cca1 100644 --- a/Makefile +++ b/Makefile @@ -16,9 +16,8 @@ LIBS = $(_LIBS:lib%.a=%) SRCS = ft_printf.c \ ft_next_word.c \ - aside.c \ ft_convert.c \ - ft_width_n_precision.c \ + ft_flag_transform.c \ main.c ODIR = ./builds diff --git a/ft_printf b/ft_printf index a73325ae637e2ca6fe83090be46d0649fba07338..6b6598d389dc45c495f560975bf4bf6e7eb151ed 100755 GIT binary patch literal 177152 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 literal 161416 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

!E!Vu<*395aF| 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⪼SE&u!T-wyn@ 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 diff --git a/ft_printf.c b/ft_printf.c index ff0d60c..fa7a265 100644 --- a/ft_printf.c +++ b/ft_printf.c @@ -1,70 +1,131 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_printf.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: hulamy +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/27 12:01:26 by hulamy #+# #+# */ +/* Updated: 2020/02/27 12:01:30 by hulamy ### ########.fr */ +/* */ +/* ************************************************************************** */ #include "ft_printf.h" /* -** FT_FLAG_TRANSFORM : -** if i = flag_p(&s) | -precision is calculated before width, -** | on str, if < length(str), cuts it, -** print = ft_precision() | on nbr, if > length(nbr), add '0' before, -** | then add '-' if negatif -** | (if precision given with flag '0', it's -** | ignored and cuted from s) -** if i = flag_w(s) | -width is caculated -** if flag_-(&s) | -if flag '-', rm '-' and width from s -** print = ft_rpadd() | -put extra width as ' ' to right, -** else if flag_0(&s) | -if flag '0', rm '0' and width from s -** print = ft_lpadd() | -put extra width as '0' to left -** else | -if just width -** print = ft_lpadd() | put extra width as ' ' to left -** // if flag_+(s) | -** // else if flag_space(s) | -** // if flag_'(s) | -** // if flag_#(s) | -** // print = ft_altfrm() | -** -** int flag_p(char **s); -** char *ft_precision(int i, char *print); -** int flag_w(char *s); -** void flag_-(char **s); -** char *ft_rpadd(int i, char *print); -** char *ft_lpadd(int i, char *print, char c); +** SPECIFIER : +** receive a word as a string, check if it start by '%', and return the +** specifier (diuxXspefgn) and the length (h hh l ll) +** -if s is a string, or is a single '%' +** return NULL (to print is as a string) +** -if s is a double '%%', remove one '%', and +** return NULL (to print is as a string) +** -then s is a conversion, go to the length and specifier +** -copy them in 'string' +** -and remove them from s +** -return the length and specifier in a string */ -char *ft_flag_transform(char *s, char *print, char *type) +char *specifier(char *s) { - print = ft_precision(s, print, type); - print = ft_width(s, print); + char *string; + int i; -// if (flag_+(s)) // -// else if (flag_space(s)) // -// if (flag_'(s)) // -// if (flag_#(s)) // -// print = ft_alternate_form(print) // - return (print); + if (s[0] != '%' || s[1] == '\0') + return (NULL); + if (s[1] == '%') + { + s[1] = '\0'; + return (NULL); + } + i = 1; + while (ft_strchr("#0- +'0123456789.*", s[i]) != NULL) + i++; + string = ft_strdup(s + i); + while (s[i] != '\0') + { + s[i] = '\0'; + i++; + } + return (string); } /* -** FT_PRINTF : -** va_list ap; -** int length; -** char *print; | -contain the arg converted into a string -** char *type; | -contain the specifier type to use -** | by va_arg -** while s = next_word() | -return the next sequence to be print -** | (either a string, or a conversion) -** type = specifier(s) | -return the type if it's a conversion, or "%", -** | or NULL if it's a string. if it's a -** | single '%' it's considered as a string -** | if convers0, rmvs length & specifier from s -** if !type: ft_put_word() | -print the string if it wasn't a conversion -** else | or if it was a '%%' -** while strchr(s,*) | -for each * present, expand it into s in -** ft_expand_star()| order it appears -** print = ft_convert()| -convert the arg with its type, -** | then trsfm it into a str and rtrn the str -** ft_flag_transform() | -proceed all modification according to flags -** ft_put_word(print) | -print the string fully converted -** return (length) | -return the length of what was printed +** -receive 'i' the number in which '*' will expand +** -turn it into a string +** -calculate the total lentgh of the string '%...' for nbr replacing '*' +** -allocate a new string with this length +** -copy the original str with first '*' expanded into it's corresponding nbr +*/ + +int ft_expand_star(int nbr, char **string) +{ + char *s; + char *n; + int i; + int j; + int k; + + n = ft_itoa(nbr); + if (!(s = ft_memalloc(sizeof(char) * (ft_strlen(n) + ft_strlen(*string))))) + return (0); + i = -1; + j = 0; + k = 0; + while ((*string)[++i] != '\0') + { + s[j] = (*string)[i]; + if (s[j] == '*') + while (n[k] != '\0') + s[j++] = n[k++]; + else + j++; + } + free(n); + free(*string); + *string = s; + return (1); +} + +/* +** print the string +** because of lake of space, it also free 'type' +*/ + +int ft_put_word(char *s, char *type) +{ + int i; + + free(type); + i = ft_strlen(s); + ft_putstr(s); + free(s); + return (i); +} + +/* +** print the string +** because of lake of space, it also free 'type' +*/ + +int length_n_free(int length, char *s) +{ + free(s); + return (length); +} + +/* +** -printf receive a string to print with a variadic number of arguments +** -it will go in a loop through each 'words' +** -a word is either a string containing no '%' or a conversion starting by '%' +** -if it's a string it's printed right away +** -if it's a conversion it will go through some actions : +** -1 expand all the stars from width and .precision +** they always expand into int type +** it's done first because those are the first next args on the va_list +** -2 expand the specifier according to its type and its length +** and put in a string 'print' +** -3 transform 'print' according to the flags */ int ft_printf(char *string, ...) @@ -80,7 +141,7 @@ int ft_printf(char *string, ...) while ((s = next_word(&string)) != NULL) { if ((type = specifier(s)) == NULL) - length += ft_put_word(s); + length += ft_put_word(s, type); else { while (ft_strchr(s, '*')) @@ -90,12 +151,8 @@ int ft_printf(char *string, ...) return (-1); if (!(print = ft_flag_transform(s, print, type))) return (-1); - length += ft_put_word(print); - free(print); + length += ft_put_word(print, type); } - free(s); - free(type); } - free(s); - return (length); + return (length_n_free(length, s)); } diff --git a/ft_printf.h b/ft_printf.h index 9963abd..de62644 100644 --- a/ft_printf.h +++ b/ft_printf.h @@ -8,7 +8,10 @@ # include // ft_printf.c -char *ft_flag_transform(char *s, char *print, char *type); +char *specifier(char *s); +int ft_expand_star(int nbr, char **string); +int ft_put_word(char *s, char *type); +int length_n_free(int length, char *s); int ft_printf(char *string, ...); // ft_next_word.c @@ -16,20 +19,16 @@ int width_precision(char *s); int word_length(char *s); char *next_word(char **s); -// aside.c -char *specifier(char *s); -int ft_put_word(char *s); -int ft_expand_star(int nbr, char **string); - // ft_convert.c char *conv_i(char c, long int i); char *conv_u(char c, unsigned long int i); char *ft_convert(va_list ap, char *type); -// ft_width_n_precision.c +// ft_flag_transform.c char *precision_int(char *print, int precision); char *ft_precision(char *s, char *print, char *type); char *width_flags(char *print, char *tmp, char *s, int width); char *ft_width(char *s, char *print); +char *ft_flag_transform(char *s, char *print, char *type); #endif diff --git a/srcs/aside.c b/srcs/aside.c deleted file mode 100644 index de8394f..0000000 --- a/srcs/aside.c +++ /dev/null @@ -1,101 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* aside.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: hulamy +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/19 16:23:01 by hulamy #+# #+# */ -/* Updated: 2020/02/26 17:43:21 by hulamy ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_printf.h" - -/* -** SPECIFIER : -** receive a word as a string, check if it start by '%', and return the -** specifier (diuxXspefgn) and the length (h hh l ll) -** -if s is a string, or is a single '%' -** return NULL (to print is as a string) -** -if s is a double '%%', remove one '%', and -** return NULL (to print is as a string) -** -then s is a conversion, go to the length and specifier -** -copy them in 'string' -** -and remove them from s -** -return the length and specifier in a string -*/ - -char *specifier(char *s) -{ - char *string; - int i; - - if (s[0] != '%' || s[1] == '\0') - return (NULL); - if (s[1] == '%') - { - s[1] = '\0'; - return (NULL); - } - i = 1; - while (ft_strchr("#0- +'0123456789.*", s[i]) != NULL) - i++; - string = ft_strdup(s + i); - while (s[i] != '\0') - { - s[i] = '\0'; - i++; - } - return (string); -} - -/* -** print the string -*/ - -int ft_put_word(char *s) -{ - int i; - - i = ft_strlen(s); - ft_putstr(s); - return (i); -} - -/* -** -receive 'i' the number in which '*' will expand -** -turn it into a string -** -calculate the total lentgh of the string '%...' for nbr replacing '*' -** -allocate a new string with this length -** -copy the original str with first '*' expanded into it's corresponding nbr -*/ - -int ft_expand_star(int nbr, char **string) -{ - char *s; - char *n; - int i; - int j; - int k; - - n = ft_itoa(nbr); - if (!(s = ft_memalloc(sizeof(char) * (ft_strlen(n) + ft_strlen(*string))))) - return (0); - i = -1; - j = 0; - k = 0; - while ((*string)[++i] != '\0') - { - s[j] = (*string)[i]; - if (s[j] == '*') - while (n[k] != '\0') - s[j++] = n[k++]; - else - j++; - } - free(n); - free(*string); - *string = s; - return (1); -} diff --git a/srcs/ft_width_n_precision.c b/srcs/ft_flag_transform.c similarity index 91% rename from srcs/ft_width_n_precision.c rename to srcs/ft_flag_transform.c index 4e0724e..3258cb5 100644 --- a/srcs/ft_width_n_precision.c +++ b/srcs/ft_flag_transform.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* ft_width_n_precision.c :+: :+: :+: */ +/* ft_flag_transform.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: hulamy +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/25 14:48:55 by hulamy #+# #+# */ -/* Updated: 2020/02/26 19:24:18 by hulamy ### ########.fr */ +/* Created: 2020/02/27 11:55:43 by hulamy #+# #+# */ +/* Updated: 2020/02/27 11:55:45 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -154,3 +154,14 @@ char *ft_width(char *s, char *print) return (print); } + +/* +** go through all the transformation flags needs +*/ + +char *ft_flag_transform(char *s, char *print, char *type) +{ + print = ft_precision(s, print, type); + print = ft_width(s, print); + return (print); +}