Je reçois l'erreur de compilation: (83) erreur: combinaison pointeur/nombre incorrect: arg # 1.C - Combinaison incorrecte pointeur/entier dans strftime()
Voici le code qui est le faire:
char boot_time[BUFSIZ];
... Ligne 83:
strftime(boot_time, sizeof(boot_time), "%b %e %H:%M", localtime(table[0].time));
où la table est une struct et le temps est un membre time_t. J'ai lu que "combinaison pointeur/nombre incorrect" signifie que la fonction est indéfinie (puisqu'en C, les fonctions retournent ints lorsqu'elles ne sont pas trouvées), et la solution normale est d'inclure certaines bibliothèques. strftime() et localtime() sont à la fois dans time.h, et sizeof() dans string.h, les deux que j'ai inclus (avec stdio.h) je suis complètement perplexe ici.
Nit-pick: sizeof n'est pas une fonction. C'est un C builtin (mot-clé), et n'est défini dans aucun en-tête. Vous n'avez pas non plus besoin des parenthèses, sauf si elles font partie de l'argument * (pour les types). Dans cet exemple, écrivez simplement "sizeof boot_time" car vous ne voulez pas la taille d'un type. – unwind