Bonjour à tous,
Dans ce sujet je fais suite à celui-ci :
http://www.developpez.net/forums/d35...mktime-gmtime/
Le créateur de ce dernier a contourné son problème de gmtime, mais ne dit rien à propos de mktime. Or c'est précisément mktime qui me pose problème.
Voilà le souci :
Ma fonction getDateFromString :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 tm tmvarDateHourFileEnd = {0}; tm* tmDateHourFileEnd = &tmvarDateHourFileEnd; ... do{ getline(flux,ligne); getDateFromString(ligne,tmDateHourFileEnd); }while(tmDateHourFileBegin->tm_year == tmvarDateHourNull.tm_year); //tmDateHourFileEnd->tm_hour == N (correct) margeEnd = difftime((unTimestamp),mktime(tmDateHourFileEnd)); //tmDateHourFileEnd->tm_hour == N+1 //??!
Le fichier "flux" contient des dates de la forme jj/mm/yy hh:mm:ss bien sûr.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 //extrait la date (tm*) d'une 'ligne' d'un fichier de log //si date non trouvée, tm->tm_year = 0 void getDateFromString(string ligne, tm * tmDateHourFile) { if(ligne.find_first_of('/') != string.npos){ //CONDITION POURRIE string date = ligne.substr(ligne.find_first_of('/')-2,17); sscanf(date.c_str(),"%2d/%2d/%2d %2d:%2d:%2d",&tmDateHourFile->tm_mday,&tmDateHourFile->tm_mon,&tmDateHourFile->tm_year,&tmDateHourFile->tm_hour,&tmDateHourFile->tm_min,&tmDateHourFile->tm_sec); tmDateHourFile->tm_mon -= 1; tmDateHourFile->tm_year += 100; } else{ tmDateHourFile->tm_year = 0; //indicateur de non identification de date } }
Besoin d'aide, d'avance merci, c'est plutôt urgent.
Partager