Pointeur en C
Bonjour,
j'ai un soucis avec les pointeurs..
Je récupère actuellement une date à partir de "st_mtime" qui est sous forme de secondes.
Je veux donc la convertir en vrai date avec
Elle retourne donc un char
Dans mon programme, j'indique donc :
Mais j'obtiens le même résultat que si je fais :
Je dois mal utiliser mon pointeur je suppose ?
Merci pour votre aide.
j'ai un soucis avec les pointeurs..
Je récupère actuellement une date à partir de "st_mtime" qui est sous forme de secondes.
Je veux donc la convertir en vrai date avec
char *ctime(const time_t *timep);
Elle retourne donc un char
Dans mon programme, j'indique donc :
struct stat S; // S est une structure de type stat time_t *madate = &S.st_mtime; ctime(madate); print("La date est : %ld", *datemodif);
Mais j'obtiens le même résultat que si je fais :
struct stat S; // S est une structure de type stat print("La date est :%ld", S.st_mtime);
Je dois mal utiliser mon pointeur je suppose ?
Merci pour votre aide.
A voir également:
- Pointeur en C
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Le pointeur de mon pc portable ne marche plus - Guide
- Pointeur laser publicitaire ✓ - Forum Loisirs / Divertissements
- Pointeur souris avec rond de chargement qui clignote sans arrêts ✓ - Forum Windows
3 réponses
oups,
ce n'est pas
mais
ce n'est pas
print("La date est : %ld", *datemodif);
mais
print("La date est : %ld", *madate);
A quoi sert ton:
ctime(madate); qui retourne une valeur une tu ne récupères pas ???
Il serait plus logique d'écrire:<code>printf ("La date est : %s", ctime(S.st_mtime));
ctime(madate); qui retourne une valeur une tu ne récupères pas ???
Il serait plus logique d'écrire:<code>printf ("La date est : %s", ctime(S.st_mtime));
Il vaut mieux utiliser ctime_r que ctime (qui est obsolète car pas compatible multithread). Il faut alors passer un buffer d'au moins 26 char comme indiqué ici :
http://manpages.courier-mta.org/htmlman3/ctime.3.html
D'où le code :
Ce qui donne :
Bonne chance
http://manpages.courier-mta.org/htmlman3/ctime.3.html
D'où le code :
#include <time.h> #include <stdio.h> int main(){ char buffer[26]; time_t t = 1234567890; if(ctime_r(&t,buffer)){ printf("date = %s",buffer); } return 0; }
Ce qui donne :
(mando@aldur) (~) $ gcc -W -Wall plop.c (mando@aldur) (~) $ ./a.out date = Sat Feb 14 00:31:30 2009
Bonne chance