je dois obtenir l'heure actuelle dans un « HH: MM: SS » -format dans un tableau de caractères (string) afin que je puisse sortir le résultat plus tard simplement avec un printf("%s", timeString);
temps en chaîne avec HH: MM: SS (C-programmation)
Je suis assez confus sur les timeval
et time_t
types btw, de sorte que toute explication serait génial :)
EDIT: Je essayé avec strftime etc, et un peu travaillé. Voici mon code:
time_t current_time;
struct tm * time_info;
char timeString[8];
time(¤t_time);
time_info = localtime(¤t_time);
strftime(timeString, 8, "%H:%M:%S", time_info);
puts(timeString);
Mais la sortie est la suivante: "13: 49: 53a ?? J`aS?" Que se passe-t-il avec "a ?? J`aS?" à la fin?
Ah, bien sûr. Merci mec! – o01
Je prends généralement l'approche pessimiste et sur-allouer les tailles de tampon. Par exemple, je déclare 'timeString []' à 20 caractères ou plus. La mémoire est bon marché, et nous ne parlons ici que de quelques octets supplémentaires. Et il vous sauve quand vous décidez plus tard de changer la chaîne de format mais oubliez de mettre à jour la longueur de mémoire tampon. –
+1 pour l'utilisation de 'sizeof()' pour laisser le compilateur passer la taille du tableau. –