Conversion SYSTEMTIME en String avec sscanf
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:
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); |