Précédent   Forum FS Generation > Futura-Techno : les forums de l'informatique et des technologies > Informatique > Logiciel - Software - Open Source
Mot de passe oublié ? Inscrivez-vous !


Réponse
 
Outils de la discussion Modes d'affichage
Vieux 19/05/2007, 23h57   #1
lui
 
Date d'inscription: mai 2006
Messages: 184
langage C, localtime, time.h

est ce que quelqu'un peut m'expliquer le role de le 3 eme et de la 4 eme ligne du code dans la
Code:
time_t timestamp;
struct tm *t;
	
timestamp = time (NULL); 
t = localtime(&timestamp);


Vous pouvez trouver la fonction complète sur ce lien:

http://membres.lycos.fr/dancel/c/c110_110.htm


Merci
lui est déconnecté   Réponse avec citation
Alt Aujourd'hui
Publicité

Beitrag Liens sponsorisés

   
Vieux 20/05/2007, 00h09   #2
 
Date d'inscription: juillet 2004
Localisation: Paris
Âge: 44
Messages: 3 283
Re : langage C, localtime, time.h

Ben il me semble qu'il y a a peut prêt tout ce que tu veux dans le lien que tu donnes.
Sans doute y a t il des choses que tu ne comprends pas dedans...
Tu sais ce qu'est une structure ?
__________________
Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
zoup1 est déconnecté   Réponse avec citation
Vieux 20/05/2007, 01h19   #3
Gre
 
Date d'inscription: juin 2005
Localisation: Sherbrooke (Canada)
Âge: 34
Messages: 489
Re : langage C, localtime, time.h

Citation:
Envoyé par lui Voir le message
Pour une fois que tu as fais l'effort de la balise CODE, je me ferais un plaisir de t'aider, même si comme le dit zoup1 tout est compris dans le lien que tu fournis.

On commence par time_t qui est le type du temps (le deuxième t de time_t sous-entend type). C'est un entier en fait.
La fonction time te permet de récupérer le temps sous la forme d'un entier. Donc timestamp contient l'heure mais sous la forme d'un entier indiquant le nombre de secondes écoulées depuis le 1er janvier 1970 à 0 heure GMT. Juste après la ligne 3, affiche le contenu de timestamp et tu verras que ce n'est pas très agréable à lire. De plus, ça veut dire que tu dois t'amuser à le convertir en hh:mm:ss à chaque fois que tu compte l'utiliser... pas pratique. C'est là qu'intervient localtime et ctime.
Ne nous intéressons pas à ctime puisque ce n'est pas là l'objet de ta question.

La fonction localtime permet de convertir l'entier sous la forme d'un enregistrement (ce qu'on appelle souvent structure). Cet enregistrement contient un champ pour les minutes, les secondes, les jours etc. Voici la déclaration du type tm (c'est-à-dire de l'enregistrement du temps).
Code:
struct tm {
  int tm_sec;   /* Secondes */
  int tm_min;   /* Minutes */
  int tm_hour;  /* Heures (0 - 23) */
  int tm_mday;  /* Quantième du mois (1 - 31) */
  int tm_mon;   /* Mois (0 - 11) */
  int tm_year;  /* An (année calendaire - 1900) */
  int tm_wday;  /* Jour de semaine (0 - 6  Dimanche = 0) */
  int tm_yday;  /* Jour dans l'année (0 - 365) */
  int tm_isdst; /* 1 si "daylight saving time" */
};
Donc dans ton exemple t.tm_yday te permet d'accéder au jour de l'année correspondant au temps que tu as récupéré à l'aide de time et qui autrement sera codé et illisible a priori.

Est-ce clair ?
__________________
War does not decide who's right, but who's left. (Bertrand Russell)
Gre est déconnecté   Réponse avec citation
Vieux 20/05/2007, 09h04   #4
 
Date d'inscription: février 2006
Âge: 48
Messages: 1 861
Re : langage C, localtime, time.h

Bonjour,

On peut aussi préciser que localtime() tient compte du fuseau horaire de la machine. Des fois ça peut créer des surprises...

-- françois
__________________
Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.
fderwelt est déconnecté   Réponse avec citation
Vieux 20/05/2007, 13h22   #5
lui
 
Date d'inscription: mai 2006
Messages: 184
Re : langage C, localtime, time.h

Si je savais pas qu'est ce qu'une structure, j'aurai pas la possibilité de réaliser un programme en C qui contient plus de 1000 lignes de code de qui fonctionnne bien(Réponse pour le message de zoup1).
Dans celui ci, j'ai fait appele à la fonction localtime dont j'ai pas bien compris le fonctionnement surtout la ligne
Code:
timestamp = time (NULL);
Dans le lien, on trouve juste une explication de role général la fonction localtime qui convertie le nombre de secondes ecoulés depuis 01/01/1970.

Ce qui me pose un problème c'est la ligne ci dessus.

Donc si tu peux m'apporter une explication elle sera la bienvenue.

Merci d'avance!
lui est déconnecté   Réponse avec citation
Vieux 20/05/2007, 13h35   #6
 
Date d'inscription: juillet 2004
Localisation: Paris
Âge: 44
Messages: 3 283
Re : langage C, localtime, time.h

Citation:
Envoyé par lui Voir le message
Si je savais pas qu'est ce qu'une structure, j'aurai pas la possibilité de réaliser un programme en C qui contient plus de 1000 lignes de code de qui fonctionnne bien(Réponse pour le message de zoup1).
Hola, faut pas te sentir agressé, moi je dis cela pour t'aider...
Sache au moins que les structures ne sont absolument pas indispensable à la réalisation de programme de plusieurs milliers de lignes qui fonctionnent très bien.

Citation:
Dans celui ci, j'ai fait appele à la fonction localtime dont j'ai pas bien compris le fonctionnement surtout la ligne
Code:
timestamp = time (NULL);
Dans le lien, on trouve juste une explication de role général la fonction localtime qui convertie le nombre de secondes ecoulés depuis 01/01/1970.

Ce qui me pose un problème c'est la ligne ci dessus.

Donc si tu peux m'apporter une explication elle sera la bienvenue.

Merci d'avance!
En ce qui concerne ton problème, c'est visiblement la fonction time() qui te pose problème. Je te propose donc d'aller voir dans le même document (http://membres.lycos.fr/dancel/c/c110_110.htm) je ne sais pas bien ce qu'on pourrais en dire de plus.
__________________
Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
zoup1 est déconnecté   Réponse avec citation
Vieux 20/05/2007, 14h43   #7
lui
 
Date d'inscription: mai 2006
Messages: 184
Re : langage C, localtime, time.h

Je me sens pas agressé, juste pour et repondre à ta question.

MAintenant j'ai bien compris, en fait mon problème se situe au niveau de la fonction time() (j'ai pas vu sa définition au debut de lien).

Parcontre j'aurai une question sur un autre sujet:
Est ce que y a une moyen de faire un interface graphique pour un programme ecrit en C en gardant le meme programme.


Je te remercie beaucoup
lui est déconnecté   Réponse avec citation
Vieux 20/05/2007, 14h59   #8
 
Date d'inscription: juillet 2004
Localisation: Paris
Âge: 44
Messages: 3 283
Re : langage C, localtime, time.h

Je vais me dispenser de répondre en détail à cette question car elle est trop générale..
La réponse est oui...
Après pour la pratique il faut choisir un environnement pour faire ton interface graphique. Ce choix dépend des contraintes que tu veux mettre sur ton interface. Par exemple si tu veux que ton programme fonctionne uniqument sous Windows ou uniquement sous MacOS ou uniquement sur Linux ou encore sur tout cela... cela conduit à des choix différents...
Pour ma part, j'ai abondonné l'utilisation d'interface graphique pour mes productions. J'utilise plutot des interfaces via le Web par exemple pour interagir avec mes oeuvres.
__________________
Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
zoup1 est déconnecté   Réponse avec citation
Vieux 20/05/2007, 15h32   #9
lui
 
Date d'inscription: mai 2006
Messages: 184
Re : langage C, localtime, time.h

JE comprend pas qu'est ce que est l'interface via le web?

En fait comme je travaille sous Linux, je pense que celui ci fonctionnera seulement sous Linux
lui est déconnecté   Réponse avec citation
Vieux 20/05/2007, 15h48   #10
 
Date d'inscription: juillet 2004
Localisation: Paris
Âge: 44
Messages: 3 283
Re : langage C, localtime, time.h

L'interface Web, ce sont des formulaire en html qui appelles des programmes...
Généralement ces programmes sont des script PHP, qui ont éventuellement la possiblité d'appeller des programme en C.

Si tu es sous Linux il y a des environnement de développement comme kde qui te proposes un environnement de travail qui te permet de créer "facilement" une interface graphique à travers l'environnement QT4 (je crois)

En fait il existe plein de façon différentes de faire... Une bonne pratique est de séparer complètement la partie calcul de la partie interface. Le mieux pour cela est de faire une interface graphique dans le système qui te plait... ce la peut-être du QT du Tk, du Java ou je ne sais quoi encore....
__________________
Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
zoup1 est déconnecté   Réponse avec citation






Réponse

Tags
langage, localtime, time.h

Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
langage c, time.h lui Logiciel - Software - Open Source 5 03/05/2007 00h07
Time Stretching !? dezbut Physique 3 05/09/2006 22h21
Time Travel Sycan Physique 6 06/12/2005 18h33


Les dernières actualités
12/10 16:17 - Une nouvelle génération d'écrans souples, plus grands et plus réactifs
12/10 15:22 - En images : quand les astronomes dessinent l'Univers
11/10 15:13 - Sur Mars, Phoenix est à l'agonie au seuil de l'hiver arctique
11/10 13:05 - La Terre vue de l'espace : l'Europe occidentale sans nuage
11/10 10:52 - Des supraconducteurs nanométriques pour une nouvelle électronique
10/10 16:44 - Une centrale solaire pilote près de Bordeaux
10/10 14:34 - En bref : l'éclairage remplacera-t-il le Wi-Fi ?

Fuseau horaire GMT +2. Il est actuellement 18h02.


Édité par : vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. Tous droits réservés.