- Convertir un timestamp en date [C] - C - Programmation
Marsh Posté le 17-09-2005 à 17:16:22
dam1330 a écrit : je suis arrrivé à convertir une date (juste jour, mois, date) avec la fonction mktime, j'obtiens un nombre negatif pour 17 09 05, est ce normal ? -2026253361 |
Montre le code, ma machine à lire dans les pensées est en révision...
Marsh Posté le 17-09-2005 à 17:24:22
Code :
|
je recupere le jour, le mois et l'annee
Code :
|
Marsh Posté le 17-09-2005 à 18:20:03
dam1330 a écrit : [cpp][/cpp] |
On pourait avoir la version qui compile...
|
Marsh Posté le 17-09-2005 à 18:32:01
oula tu veux tout ?
http://dam1330.free.fr/message.tar
j'ai fait un script pour compiler, j'arrive pas a faire les makefile...
oui = 1, non = 0 pour les menu
je voudrais donc enregistrer mes dates au format timestamp dans mon fichier
Marsh Posté le 17-09-2005 à 18:40:09
dam1330 a écrit : oula tu veux tout ? |
En principe on poste une version réduite au minimum mais compilable qui montre le problème...
(C'est d'ailleurs une technique de déboguage bien connue).
Bon Il y a un problème avec la fonction d'init. Comme l'indique la doc du C, les mois vont de 0 à 11 et les années commencent à 1900 :
|
Met déjà ça au point...
Les entrées sont fragiles.
http://mapage.noos.fr/emdel/notes.htm#saisie
http://mapage.noos.fr/emdel/notes.htm#fichiers
J'ai définitivement reglé le problème comme çà :
(code manquant ici : http://mapage.noos.fr/emdel/clib.htm)
|
Marsh Posté le 17-09-2005 à 19:37:31
je n'arrive pas a compiler:
fou.c:91:3: warning: no newline at end of file
/tmp/ccALt7nZ.o: dans la fonction « ajouter_message »:
fou.c.text+0x90): référence indéfinie vers « get_l »
fou.c.text+0xb5): référence indéfinie vers « get_l »
fou.c.text+0xda): référence indéfinie vers « get_l »
fou.c.text+0x151): référence indéfinie vers « get_l »
fou.c.text+0x176): référence indéfinie vers « get_l »
/tmp/ccALt7nZ.o:fou.c.text+0x19b): encore plus de références indéfinies suivent vers « get_l »
/tmp/ccALt7nZ.o: dans la fonction « ajouter_message »:
fou.c.text+0x219): référence indéfinie vers « get_s »
fou.c.text+0x238): référence indéfinie vers « get_l »
collect2: ld returned 1 exit status
make: *** [fou] Erreur 1
damien@shuttle:~/message$
Marsh Posté le 17-09-2005 à 19:43:39
comme il te l'a indiqué :
va sur :
http://mapage.noos.fr/emdel/clib.htm
puis télécharge les différents fichiers pour les mettre en ed/inc/
Marsh Posté le 17-09-2005 à 19:50:41
dam1330 a écrit : je n'arrive pas a compiler: |
Normal, j'ai indiqué où était le code manquant. Mais l'essentiel est d'avoir compris ce qui est dit dans les deux liens que je t'ai indiqué :
http://mapage.noos.fr/emdel/notes.htm#saisie
http://mapage.noos.fr/emdel/notes.htm#fichiers
Marsh Posté le 17-09-2005 à 21:25:57
merci beaucoup de m'avoir aidé, ca fonctionne bien.
void init_temps(struct tm *temps, int jour, int mois, int annee)
{
temps->tm_sec=0; /* secondes (0,59) */
temps->tm_min=0; /* minutes (0,59) */
temps->tm_hour=0; /* heures depuis minuit (0,23) */
temps->tm_mday= jour+1; /* jour du mois (0,31) */
temps->tm_mon= mois-1; /* mois depuis janvier (0,11) */
temps->tm_year=annee-1900; /* mois depuis janvier (0,11) */
temps->tm_wday=0; /* année depuis 1900 */
temps->tm_yday=0; /* jour depuis le 1 janvier (0,365) */
temps->tm_isdst=+1; /*negatif si pas dispo*/
}
Marsh Posté le 17-09-2005 à 23:17:07
dam1330 a écrit : |
Il ne faut pas inventer n'importe quoi. Il faut lire la doc :
http://www.linux-france.org/articl [...] ime-3.html
Citation : |
D'autres commentaires sont faux :
Citation :
|
Marsh Posté le 17-09-2005 à 17:14:17
bonjour,
je suis arrrivé à convertir une date (juste jour, mois, date) avec la fonction mktime, j'obtiens un nombre negatif pour 17 09 05, est ce normal ? -2026253361
je n'arrive pas a faire la conversion inverse, quelle fonction faut il utiliser ? vous avez un exemple ?