Bonjour,
j'ai un petit doute sur l'utilisation de free(x), lorsque je veux que ma fonction retourne x. Doit-on faire free(x) puis return(x) (à mon avis ce return ne marche pas), ou return(x) puis free(x) (x est-il vraiment libéré?) ou faut-il créer une variable locale y=x, ou existe-t-il un moyen plus élégant?
Voici ce que je souhaite faire (tout en libérant res au bon moment) :
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 char *time_t_to_string (time_t t) { time_t *pt = &t; char *res = (char*) calloc (16, sizeof(char)); res[16] = '\0'; strncpy (res, ctime (pt) + 4, 15); }
Partager