Problème avec GetTickCount()

nisaloncaje Messages postés 154 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 28 septembre 2008 - 19 mars 2006 à 10:48
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 19 mars 2006 à 12:12
Bonjour, je voudrais faire une sorte de chronomètres pour mon programme, cependant j'ai un petit problème : je veux que le temps s'affiche sous la forme x,xxx .

Pour cela, je pensais utiliser la chose suivante :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <windows.h>


int main(void){
int a=0;
int tini=GetTickCount();
int tps;
while(a<1){
tps=(GetTickCount()-tini)/1000;
printf("%d\n", tps);
}

}

mais cela ne marche pas : on obtient que le nombre de secondes, et pas ce qui devrait etre après la virgule, à savoir les millièmes de secondes.

Je pense que c'est parce GetTickCount() retourne un entier (int) mais meme si je met float à la place de int tini et bien ca ne marche pas.

J'aimerais donc que vous m'aidiez

Merci d'avance

NC

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 mars 2006 à 11:09
Des opérations sur des entiers donnent des entiers.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
nisaloncaje Messages postés 154 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 28 septembre 2008
19 mars 2006 à 12:00
je pensais bien aussi :) Seulement, comment faire pour que GetTickCount() retourne un float ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 mars 2006 à 12:12
float tps;
DWORD tini = GetTickCount();
tps = (float)(GetTickCount()-tini) / 1000.;

et n'affiche pas comme des entiers, regarde doc de printf.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
Rejoignez-nous