aztcaLISS
Messages postés91Date d'inscriptionsamedi 3 mai 2003StatutMembreDernière intervention25 avril 2008
-
26 nov. 2006 à 21:48
aztcaLISS
Messages postés91Date d'inscriptionsamedi 3 mai 2003StatutMembreDernière intervention25 avril 2008
-
27 nov. 2006 à 14:52
Salut,
Comment je peux faire pour écrire à la fin d'un fichier sous Linux.
j'utilise la fonction
fd = open(nomfichier, O_RDWR | O_APPEND);
write(fd, "allo", sizeof("allo"));
Ca ajoute que des retours de chariots dans le fichier.
Je dois vraiment utilisé la fonction fopen car c'est dans le cadre d'un travail scolaire.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201013 27 nov. 2006 à 13:35
J'aime autant son write
1) ton cast en const char* ne sert à rien
2) ton sizeof est faux, le 4 doit être sorti des parenthèses
3) c'est pas terrible de mettre 4 comme ca
Voila comment je l'écrirais pour ma part
write(fd, "allo", sizeof "allo" - 1);
-1 car sizeof "allo" vaut 5 et pas 4 (après il faut voir s'il veut écrire le 0 terminal ou pas)
_____________________________________
Un éditeur de ressources gratuit pour Windows
turnerom
Messages postés492Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention12 janvier 20121 27 nov. 2006 à 13:53
J'aime autant son write
1) ton cast en const char* ne sert à rien
--> Dans ce cas la en effet
2) ton sizeof est faux, le 4 doit être sorti des parenthèses
--> c'est pas faux
3) c'est pas terrible de mettre 4 comme ca
--> c'est pas faux non plus, mais si ca marche alors, il pourra ensuite ecrire un truc plus propre
Voila comment je l'écrirais pour ma part
write(fd, "allo", sizeof "allo" - 1);
-1 car sizeof "allo" vaut 5 et pas 4 (après il faut voir s'il veut écrire le 0 terminal ou pas)
ton sizeof est tout aussi faux que le mien car tu as oublié les parenthèses, de plus à ce moment la, tu met
turnerom
Messages postés492Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention12 janvier 20121 27 nov. 2006 à 14:25
Je m'incline, je savais pas que sizeof "allo" dans :
write(fd, "allo", sizeof "allo" - 1); compilait (j'ai vérifié moi aussi ), je croyais que c'était un erreur de ta part.