![]() |
|
|
|||||||
| HORS SUJET / OFF TOPIC Dans cette section vous pouvez parler de n'importe quoi non-relié au monde de la moto. In this section you can discuss anything that's not motorcycle related. |
![]() |
|
|
LinkBack | Outils de la discussion | Modes d'affichage |
|
|
#1 (permalink) |
|
Administrator
![]() Date d'inscription: novembre 2002
Messages: 6 724
Pouvoir de réputation: 50 Reputation: 247
![]() ![]() ![]() Moto: CBR 929 |
Bon... ecoeuré de chercher le trouble...
voici mon code... mais il me retourne 0. WHY !??!? Code:
// Calcule le temps à partir du depart et l'arrivée
int calculerTemps(string tempsDebut, string tempsFin)
{
struct tm infoTempsDepart = {0},
infoTempsArrivee = {0};
// Convertir chaine tempsDebut en format struct tm
// separré en heures, minutes, et secondes.
infoTempsDepart.tm_hour = atoi(tempsDebut.substr(0,2).c_str());
infoTempsDepart.tm_min = atoi(tempsDebut.substr(3,2).c_str());
infoTempsDepart.tm_sec = atoi(tempsDebut.substr(6,2).c_str());
// Convertir chaine tempsFin en format struct tm
// separré en heures, minutes, et secondes.
infoTempsArrivee.tm_hour = atoi(tempsFin.substr(0,2).c_str());
infoTempsArrivee.tm_min = atoi(tempsFin.substr(3,2).c_str());
infoTempsArrivee.tm_sec = atoi(tempsFin.substr(6,2).c_str());
// Retourner la difference entre les 2 temps de type time_t
return (int)difftime(mktime(&infoTempsArrivee),mktime(&infoTempsDepart));
} // calculerTemps()
pourtant si je cout infoTempsArrivee.tm_hour (par exemple) il contient ce qu'il est supposé contenir... mes struct ne sont pas vides. Mais j'arrive pas a comprendre pourquoi mktime() me donne 0 Les données entrées sont en format hh:mm:ss
__________________
|
|
|
|
|
|
#2 (permalink) |
|
World speed record
![]() Date d'inscription: juillet 2006
Localisation: 347
Messages: 2 772
Pouvoir de réputation: 6 Reputation: 248
![]() ![]() ![]() Moto: CBR929 |
Tes structures ne sont pas convenablement initialisés...
Rajoute ces quatres lignes là au début de ta fonction (après la définition de tes variables): time_t ltime; time( <ime ); gmtime_s( &infoTempsDepart, <ime ); gmtime_s( &infoTempsArrivee, <ime ); |
|
|
|
|
|
#4 (permalink) |
|
World speed record
![]() Date d'inscription: juillet 2006
Localisation: 347
Messages: 2 772
Pouvoir de réputation: 6 Reputation: 248
![]() ![]() ![]() Moto: CBR929 |
De mon côté ça complie bien (un project MFC Visual Studio 2005)
Essais en incluant ça avant ta fonction : #define _USE_32BIT_TIME_T. Sinon, essais ça, ça devrait passer: __int64 ltime; _time64( <ime ); _gmtime64_s( &infoTempsDepart, <ime ); _gmtime64_s( &infoTempsArrivee, <ime ); Il reste que ton problème est l'initialisation de ta structure qui n'est pas complète. |
|
|
|
|
|
#5 (permalink) | |
|
Administrator
![]() Date d'inscription: novembre 2002
Messages: 6 724
Pouvoir de réputation: 50 Reputation: 247
![]() ![]() ![]() Moto: CBR 929 |
Citation:
Comment derais-je initialiser ma structure?
__________________
|
|
|
|
|
|
|
#6 (permalink) |
|
World speed record
![]() Date d'inscription: juillet 2006
Localisation: 347
Messages: 2 772
Pouvoir de réputation: 6 Reputation: 248
![]() ![]() ![]() Moto: CBR929 |
Après l'appel de _gmtime64_s, dans la structure j'ai:
tm_sec 33 tm_min 35 tm_hour 20 tm_mday 4 tm_mon 1 tm_year 107 tm_wday 0 tm_yday 34 tm_isdst 0 #include <ctime> peut-être? Pourtant gmtime() est bel et bien défini dans <time> ... |
|
|
|
|
|
#7 (permalink) | |
|
Administrator
![]() Date d'inscription: novembre 2002
Messages: 6 724
Pouvoir de réputation: 50 Reputation: 247
![]() ![]() ![]() Moto: CBR 929 |
Citation:
Inclure ctime n'a rien changé. Mais t'as raison de dire que le prob c'est mon initialization des struct. J'ai pris tes données et j'ai initialisé mes struct comme ca: {0,0,0,1,1,107,0,34,0} laissant mes champs hour, min et sec a 0. Et maintenant ca marche...
__________________
|
|
|
|
|
|
|
#9 (permalink) |
|
Administrator
![]() Date d'inscription: novembre 2002
Messages: 6 724
Pouvoir de réputation: 50 Reputation: 247
![]() ![]() ![]() Moto: CBR 929 |
Ah oui... j'oubliais... MERCI !!!!!!!!!
Je dois avoir passé 2 heures a gosser avec ca...... avoir su que c'etait l'initialisation des struct... merci pour ton aide
__________________
|
|
|
|
![]() |
| Liens sociaux |
| Outils de la discussion | |
| Modes d'affichage | |
|
|