Bonjour,

Je dois lire une date provenant d'un fichier texte et je dois la convertir dans le format SYSTEMTIME.
J'utilise la fonction sscanf() mais je n'arrive pas à récupérer les millisecondes.
Ma chaine est du format: "yyyy-MM-dd hh:mm:ss.ms"
Je récupère 0 dans les ms par contre si je mets un autre separateur que le point,ça fonctionne.
Avez vous une idée pour résoudre ce problème?

Merci,
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
SYSTEMTIME systime;
char dateTimeString[255];
 
memset(&systime,0,sizeof(systime));
strcpy(dateTimeString,"2018-01-25 21:41:52.251");
 
sscanf(dateTimeString, "%hu-%hu-%hu%hu:%hu:%hu:%hu.%hu",&systime.wYear,&systime.wMonth,&systime.wDay,&systime.wHour,&systime.wMinute,&systime.wSecond,&systime.wMilliseconds);
 
printf("Year: %hu\n",systime.wYear);
printf("MM: %hu\n",systime.wMonth);
printf("dd: %hu\n",systime.wDay);
printf("hh: %hu\n",systime.wHour);
printf("mm: %hu\n",systime.wMinute);
printf("ss: %hu\n",systime.wSecond);
printf("ms: %hu\n",systime.wMilliseconds);