From d0a2a63b06fe0744a5bcdb8cc6cb2fe2878ada80 Mon Sep 17 00:00:00 2001 From: hugodu69 Date: Sat, 22 Feb 2020 01:13:41 +0100 Subject: [PATCH] ecriture du pseudo code pour le fonction flag precision --- ft_printf | Bin 39192 -> 0 bytes ft_printf.c | 43 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 2 deletions(-) delete mode 100755 ft_printf diff --git a/ft_printf b/ft_printf deleted file mode 100755 index a589923178fdfb10b49d50f058c16ec874260cb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39192 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 Ta(<@szqv)%dn6_QQ~m!x*&I=? diff --git a/ft_printf.c b/ft_printf.c index ffbfd05..1d76b80 100644 --- a/ft_printf.c +++ b/ft_printf.c @@ -7,8 +7,8 @@ ** | 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 flags '-' or '0' -** | they're ignored and cuted from s) +** | (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, @@ -33,6 +33,44 @@ char *ft_flag_transform(char *s, char *print) { (void)s; + printf("|%i| - |%.0i| - |%.0i| - |%.i|\n",0,0,1,0); + printf("|%i| - |%i| - |%.4i| - |%.4i|\n",10,-10,10,-10); + printf("|%i| - |%05i| - |%05.4i| - |%.4i|\n",10,10,10,10); + printf("|%i| - |%-5i| - |%-5.4i| - |%-.4i|\n",10,10,10,10); + char * t = "trois"; + printf("|%s| - |%.0s| - |%.2s| - |%.10s|\n",t,t,t,t); + char y = 'y'; + printf("|%c| - |%.0c| - |%.2c| - |%.10c|\n",y,y,y,y); + +// print = ft_precision +// (print, s, type); // -regarde s'il y a un '.' suivit de + // chiffres, donc une precision + // -si oui transforme les chiffres en + // un int 'precision' + // -s'il y a un '.' sans chiffres, + // donner la valeur 0 a 'precision' + // -virer ces chiffres et le '.' de s + // -si flag '0', l'enlever de s aussi + // -transformer print en fonction de + // cette precision : + // -1 si type vaut s: + // -si length(s) > a precision + // raboter la fin de s pour afficher + // uniquement au max la longueur de + // precision + // -sinon laisser print tel quel + // -2 si type de s est "diouxX": + // -si length(s) < a precision + // ajouter des '0' avant le nombre + // mais apres le signe '-' si c'est + // un nombre negatif + // -3 si type de s est "aAeEfF": + // -non traite + // -4 si type de s est "gG": + // -non traite + // -5 sinon: + // -erreur + // int i; // // if ((i = flag_p(&s))) @@ -46,6 +84,7 @@ char *ft_flag_transform(char *s, char *print) // else // print = ft_lpadd(i, print, ' '); // } + // if (flag_+(s)) // // else if (flag_space(s)) // // if (flag_'(s)) //