Pages : 1
#1 Le 09/12/2008, à 18:02
- LerOn
ctime et son \n
Bonjour,
Je develope actuellement un programme en C qui utilise la commande stat().
Je veux afficher sur la sortie la date de dernière modification d'un fichier et pour cela j'utilise la fonction ctime() pour rendre cette date lisible par les humains.
Mais le problème est que ctime() place un \n a la fin de la chaine ce qui produit un retour a la ligne au niveau de mon affichage. Mais moi j'ai besoin d'afficher 2 dates sur la meme ligne.
J'aurai voulu savoir pourquoi un \n est placer a la fin de la chaine de retour de ctime() alors que \0 suffit largement.
Avez vous une solution pour afficher la date sans avoir ce \n? Il existe peut etre un fonction que je ne connais pas encore.
Merci pour votre aide.
Dernière modification par LerOn (Le 09/12/2008, à 18:04)
Hors ligne
#2 Le 09/12/2008, à 18:31
- Link31
Re : ctime et son \n
Ben remplace-le par un \0. Comme le caractère \n est à la fin de ta chaîne, il suffit de faire :
size_t length;
if ((length = strlen(buf)) > 0)
buf[length-1] = '\0';
Dernière modification par Link31 (Le 09/12/2008, à 18:31)
Hors ligne
#3 Le 09/12/2008, à 18:36
- LerOn
Re : ctime et son \n
Ben remplace-le par un \0. Comme le caractère \n est à la fin de ta chaîne, il suffit de faire :
size_t length; if ((length = strlen(buf)) > 0) buf[length-1] = '\0';
Merci Link31 pour ta réponse.
J'y avais penser mais je me demandé si il n'y avais pas une solution plus "propre".
Encore merci pour ton aide.
Hors ligne
Pages : 1