Bonjour,
J'utilise Visual studio 2005 et récemment j'ai eu un problème avec la fonction sscanf. J'ai un code qui lit dans un fichier texte des heures au format HH:MM:SS et qui les traite ensuite. J'ai constaté que dans certains cas le résultat de mon traitement était faux. Après pas mal deJ'ai fait des tests et j'ai trouvé ceci
Donne un résultat correcte à savoir H=5; M=2 et S=4Code:
1
2
3
4
5 CString Str; int H,M,S; Str="05:02:24"; sscanf(Str,"%2i:%2i:%2i",&H,&M,&S);
Par contre
Donne un résultat faux à savoir H=5; M=0 et S=-858993460Code:
1
2
3
4
5 CString Str; int H,M,S; Str="05:08:24"; sscanf(Str,"%2i:%2i:%2i",&H,&M,&S);
Il semble que les chaine "08" et "09" pose problème.
J'ai adopté la solution suivante qui fonctionne
Quelqu'un a t'il déjà eu ce bug?Code:
1
2
3
4
5 CString Str; float H,M,S; Str="05:08:24"; sscanf(Str,"%f:%f:%f",&H,&M,&S);
Merci.