sprintf und DWORD



  • Hallo zusammen,

    ich bin gerade dabei, ein kleines Programm zu schreiben, welches eine Logdatei erstellen soll.

    Mit

    static DWORD timeStart = timeGetTime();
    

    speichere ich zuerst die Startzeit eines Prozesses und ermittele seine Ausführungszeit dann mit

    timeStart-timeGetTime()
    

    Am Ende würde ich das ganze gerne in das Logfile schreiben mit

    sprintf( "Zeit: %.8i", timeStart-timeGetTime());
    
    Dabei soll die Ausführungszeit immer 8 Nachkommastellen haben (%.8). Mein Problem besteht nun darin, den DWORD-Wert von
    

    timeGetTime()[cpp] irgendwie in sprintf zu integrieren. Ich habe schon alles mögliche versucht, aber ich finde nicht die richtige Variable, damit sprintf keine cryptischen Zeichen, sondern den Rückgabewert von timeGetTime() einbaut.

    Mit freundlichen Grüßen,
    Thindia80



  • Weder ist %i das richtige für DWORD, noch hat ein Integer Nachkommastellen.

    printf( "Zeit: %u", timeStart-timeGetTime());
    


  • Vielen Dank TyRoXx, du hast mir damit echt weitergeholfen 🙂 .

    Weiß jemand, wie ich solch einen Timestamp hinbekomme:?

    00000000	0.00000000
    00000001	0.00093431
    00000002	0.00095811
    00000003	0.00100801
    00000004	0.00120151
    00000005	0.00198363
    00000006	0.00211812
    00000007	0.00224635
    00000008	0.00236546
    00000009	0.00259034
    

    MfG, Thindia80

    P.S.: Bei

    timeStart-timeGetTime()
    

    sehen die in etwa so aus:

    00000000	0
    00000001	4294967281
    00000002	4294967265
    


  • Also hat sich gerade erledigt^^, da mir aufgefallen ist, dass ich

    timeGetTime() - timeStart
    

    aufrufen muss.
    Vorher habe ich da so gemacht:

    timeStart - timeGetTime()
    

    Das hat dann wahrscheinlich einen Pufferüberlauf oder so gegeben.

    Vielen Dank,

    Thindia80


Anmelden zum Antworten