From 3af1bd22b26a01ca6a9bbf84259db16c312efa4d Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Wed, 12 Feb 2020 17:35:33 +0100 Subject: [PATCH] en cours ecriture conversion galere --- .ft_printf.c.swm | Bin 4096 -> 0 bytes ft_printf | Bin 13540 -> 13540 bytes ft_printf.c | 88 ++++++++++++++++++++++++++++++++++------------- 3 files changed, 64 insertions(+), 24 deletions(-) delete mode 100644 .ft_printf.c.swm diff --git a/.ft_printf.c.swm b/.ft_printf.c.swm deleted file mode 100644 index 0dcf5dff13f827448ab434f2aa28b5c4e774623d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmYc?2=nw+u+TGP00IF9hTyACao5dx8ERM<7&1z85_2m-68J%?VUb0Fv7U*MURn`8 zm30sU^$UtJ^Gee6(@NqYEWKoWx<=(jLtr!ns1pLb48}%=1|YMPl@t|(g+i%g?5HWD fAut*OqaiRF0;3@?8UmvsFd71*Aut*OLm~tKwGJ2M diff --git a/ft_printf b/ft_printf index 0c97114ba6865134abe640d7a6e013644b0cd7ad..595f351e95d442143e6ce4e029389635fe9362cc 100755 GIT binary patch delta 3691 zcmai%ZA=`;8OLWAjL!tvJ2+lk+c61jgI(LX!y(46B`&M1rC6{Eh-UzxS@`ot8NK|#(L`5R4k~Sd_H^GgqmbxT8Ra7~pR60xkfD=2itEBY* z%+A`hxa~?jFZ29&p5M;RF1vHxbKQeMrERG6fLfyt9o?qn4gK_(uvx&T~Zv{ZZ*;mV) zD@Av&y%A*0ZkcmH%cy@Xb+-Cft=L}1*eJ`s zTRPU_Z&%dSWzIW+?dl(joQ1$cYP;XrTl|Ka4mx=yHEO2V36+$q4LM_bO72qB$4i`^ zU^pI2oA%DD0Wr%Ha6H-b&xHlkGSb?(Z{P;gp4OLx!`}HPSF;Zec&KUvH#&IoF{riV zNi36T8yTx9GjOBEB`G%B&zaUR)y$lS`~wp{9#BngKa7D(YiJ59 z+2$yvrEwZT;ySDo`kMszdtB=~exi&Bg{17h4M770+};7}5m4+BP|YJCfDm#IfND-| zX>pte!QeWV;n&of7{Y>KgHT9@*lidpA>j6ESdW2Xmw{@F8T`mS2C4}L8U%yuT!sxE zLrSA{C=d$C(03aK1_8G}|Kb({#V!NY7BkGF;xSN7Fwh_vT<0>pM6GEZG{JCLC?rGk zZ5T2TaC;WkTL+3=2C6M)m`3g~P%Um+rqAT>n*)<@6b_RFM6Pp*{2tL$MYJjxghCRv zYsnw{=l-04fZK1vdPEevL{z&)w3pkX81RrpaS0JAK;%01+@v;s1zR=_7A(@`LPB~4 z66fc^HSrVzZodfYwWio@O|@ICxjl&7>nv(ZI+FsOT^B;rS#(3wR?+m7sLFNd)RHeS z78f_FiF;~bGS`aEo%~0N7KbMjq~&%W93MUbt3A5`6)Q=xizg)F&h?wtFNHD>r#uFM zM=2yrC`kcIa`8_zKRr*rL7YnV4LpB&vP0A*=MlmA-!Pj=if0BKACAC!m=wF1LUI#R zC<(Ixf=g@SbhTDeXqIr21VwTZ^A+#`vqWI-5M_zk^*=E~B;|Gu93QTR^)Ta zQEl-ay#Dzu98p_>Lki%yj`m<27}$fEe4@E3s*)zE#s3|LXtGdndk)s4q1dIN+G3hC za&K`&Z3zu2K;t^1`3xAK*(Ydb;-YM%&4CF8|5wwO&R>V#-uZ#6+5~6X{Tb6L{0LWJ zS}RN|dfnXmN1mLfGx=NR;It%aEIeVJ{B1)HV=ZU1b1N9r?ueTF@B7S?mtRNqQ_a6D zgxTN=H@LpECLj0TlyMbh#{1_@9?P0`T?_T(vCNb)`+XFqjPyCY6-^m42Zft4?=dXtkU|heX6K-3uQ4 zcE_;-Ao??%Zw(_uBBtq~X;}6?m+6cZ8?mA((`v#r#vq_h;gS;(9<0V2k1N&D5f3gT zSTI#fhOwM@ZOWR~aUZr5LqkmXH+p%p@GDzS0k#e5l^EUj37z{WGO>kdw;XOc>(rO8 zSAOQSm*1;C>2rQmzD_;tbKWk$rXE}F{Ho$Xb>nhpp~6tIj|Xja8wIm0!6h6t3NTU)}v% z>bGuM&-C7ndT%})tK3$}^bV$XGd;%iKBhM_y`AZuOh3Z(E~fXO&=X_%tfM>D*WBLQ zd8CW=o_M_bXcz15-m@nb#Uz+R?;z7nCRX`%*gguI$+VLZnof$2km;h{6o@l~=~-lB zRO*T4v%`9COTP2W+S&uSBwQm~Eqx_C9hLZ#Uk3_(Wz-|5zpvrFo(_s}M5Qp+t^saygojPol6UGH~usPA#6O#Yh~Vm6{4Kxp!&p0H-FH} z<@w)~`EfkpNdIk_GdbTenWyl+PIY=x8`k delta 1511 zcmYjRe@t6N9KUx!f0y@QTd6Q;3siwj+Cqo0A!8&jyDVEY>N0g{V6-aL2uK;xOhQem z%geLc?!w|9ixQnNYL+x=FVO)usuSRjYA?&Lk;e~TNIpU(Nc&KiL(}dG2xfk##mcDz}_tvgo{lSmk z5MQ(XelkS0>VCZJpp7;E8H*A^MUS1P44wFbovs+3kWSeUQm!h;ZxeNX zt2i%GkFnMD6|9FSvId-1+zS;%J+n#FA>h`EHX9u`w&5j_o-=CraxIOTn#^}=5z3TxZx-9eOO2NWo&cCZzVEY>x$+)j;7z!i-hOydG$KqGT1n|q%=_lG7Xad$Z> z7f2#6z{VGD9bg1ZPE`9PC?u+xs3*3_z&D`71UWHj1$luydF2{AQK8l1LokqNeY#t8 zEkXvN^a-N;OcK8hUzhIyTtLeF7E$2WruKgdr4SaskZ(={%<53PE*A_?nV8?gV)7n{ zh$_QLm^Ojh^H2jjb=L@LY*8ku4MHA#A+pup| z`D;*{xHcSGP183WU4n=;W;1 z8?m79#OWEgHw-~6g2rb~&rP9I-dKoExq1%40BA2X_U-iSzOp+X1kc(}{ED-<3YraG z0|^P4L62AB*R_%RcJ8~m?`J-D*!`K98LK|;FJP^S{^$?2tu@0)@fK!0VA398boQy( zEV?RGq5QqTEZeh|#&Ajm6!TGOWB zk5@_A8qKgQ&>sR_3vqZJ*pgeJi7XIx+{3X3d%);}9FH~X_z1^o-v1Gfhj;1uagNvE zkzoC&DtZ1up4IUJn&!l-ydd7BcgS$;<^nEO2H^SkIbL??^_MFcPAr>nh2zRQy~^=$ RgPy-p#?@e*Io!K0{0DXCns5LB diff --git a/ft_printf.c b/ft_printf.c index 72f23e9..9f3bd45 100644 --- a/ft_printf.c +++ b/ft_printf.c @@ -120,8 +120,10 @@ int ft_expand_star(int nbr, char **string) char *ft_convert(va_list ap, char *type) { - -// va_arg(ap); + long int i; + + if (!ft_strchr(type, 'e') || !ft_strchr(type, 'f') || !ft_strchr(type, 'g') || !ft_strchr(type, 'n')) + i = va_arg(ap, long int); return (NULL); } @@ -206,38 +208,76 @@ int ft_printf_test(char *string, ...) va_list ap; va_start(ap, string); + printf("%s", string); while (*string != '\0') { - if (*string == 's') - printf("string %s\n", (char *)va_arg(ap, unsigned long)); + printf(" : "); if (*string == 'd') - printf("int %d\n", va_arg(ap, int)); + printf("%d", (int)va_arg(ap, long int)); + if (*string == 'i') + printf("%i", (int)va_arg(ap, long int)); + if (*string == 'u') + printf("%u", (unsigned int)va_arg(ap, long int)); + if (*string == 'x') + printf("%x", (unsigned int)va_arg(ap, long int)); + if (*string == 'X') + printf("%X", (unsigned int)va_arg(ap, long int)); if (*string == 'c') - printf("char %c\n", va_arg(ap, int)); + printf("%c", (char)va_arg(ap, long int)); // var_arg promote char into int + if (*string == 's') + printf("%s", (char *)va_arg(ap, long int)); + if (*string == 'e') + printf("%e", va_arg(ap, double)); // va_arg promote float into double + if (*string == 'f') + printf("%f", va_arg(ap, double)); // va_arg promote float into double + if (*string == 'g') + printf("%g", va_arg(ap, double)); // va_arg promote float into double + if (*string == 'I') + printf("%li", (long int)va_arg(ap, long int)); + if (*string == 'U') + printf("%lu", (unsigned long int)va_arg(ap, long int)); string++; } + printf("\n"); va_end(ap); return (0); } int main(int ac, char **av) { - char *s; - char *str; - char c; - int i; + char *str = "diuxXcsefg"; + int d = 123; + int i = 456; + unsigned int u = 345; + unsigned int x = 456; + unsigned int X = 567; + char c = 'c'; + char* s = "string"; +// p = ; + float e = 678; + float f = 789; + float g = 890; +// n = ; + char *str2 = "iiIIuU"; + int i1 = 2147483647; + int i2 = -2147483648; + long int i3 = 9223372036854775807; + long int i4 = -9223372036854775807; + unsigned int i5 = 4294967295; + unsigned long int i6 = 18446744073709551615; - s = "csd"; - c = 'p'; - str = "bravo"; - i = 6; - if (ac == 2) - printf("[%s]", av[1]); -// printf("[%s][%s][%c][%i]\n\n", s, str, c, i); - ft_printf_test(s, c, str, i); -// ft_printf("%*.*i", 45,278,123, 4); + if (ac == 1) + { + printf("%s : %d : %i : %u : %x : %X : %c : %s : %e : %f : %g\n", str, d, i, u, x, X, c, s, e, f, g); + ft_printf_test(str, d, i, u, x, X, c, s, e, f, g); + printf("%s : %i : %i : %li : %li : %u : %lu\n", str2, i1, i2, i3, i4, i5, i6); + ft_printf_test(str2, i1, i2, i3, i4, i5, i6); + } if (ac == 2) + { + printf("[%s]\n", av[1]); ft_printf(av[1]); + } return (0); } @@ -306,9 +346,9 @@ conversions : nfge p * pointer adress d int (or i) signed decimal integer i int (or d) signed decimal integer - u int unsigned decimal integer - x int unsigned hexadecimal integer - X int unsigned hexadecimal integer (capital letters) + u u int unsigned decimal integer + x u int unsigned hexadecimal integer + X u int unsigned hexadecimal integer (capital letters) ( n *int nothing printed ( f float decimal floating point ( e float scientific notation (mantissa/exponent) using e @@ -336,12 +376,12 @@ long long 8bytes 64bits 4294967295 -2147483648 - +2147483647 02 [int] [d, i] [int] 18446744073709551615 -9223372036854775808 - +9223372036854775807 04 [long] [ld, li] [long] [d(l ,ll), i(l, ll)] 18446744073709551615 -9223372036854775808 - +9223372036854775807 04 [long long] [lld, lli] [long] - 256 0 - +255 05 [unsigned char] [hhu, hhx, hhX] [unsigned long] [u( , h, hh, l, ll), x( , h, hh, l, ll), X( , h, hh, l, ll), p] + 256 0 - +255 05 [unsigned char] [hhu, hhx, hhX] [unsigned long] [s, u( , h, hh, l, ll), x( , h, hh, l, ll), X( , h, hh, l, ll), p] 65536 0 - +65536 06 [unsigned short] [hu, hx, hX] [unsigned long] 4294967296 0 - +4294967296 07 [unsigned int] [u, x, X, p] [unsigned long] 18446744073709551616 0 - +18446744073709551616 09 [unsigned long] [lu, lx, lX] [unsigned long] 18446744073709551616 0 - +18446744073709551616 09 [unsigned long long] [llu, llx, llX] [unsigned long] -18446744073709551616 0 - +18446744073709551616 10 [char *] [s, hhn] [char *] [s] +18446744073709551616 0 - +18446744073709551616 10 [char *] [s, hhn] [unsigned long] 18446744073709551616 0 - +18446744073709551616 16 [double] [e, le, f, lf, g, lg] [] 18446744073709551616 0 - +18446744073709551616 17 [wint_t] [lc] []