LONGLONG mit prinf aufbereiten.
-
Ich habe in einem älteren Programm MemoryStatus in MemoryStatusEx geändert und möchte nun eine LONGLONG-Zahl (z.B. MEMORYSTATUSEX.ullTotalPhys) anzeigen. Mit "%13d" wird es fehlerhaft angezeigt. "d" versteht nur 32 Bit Zahlen. Gibt es einen zugehörigen Formatstring bzw. eine andere Funktion, mit der man eine vorzeichenlose 64 Bit Ganz-Zahl in einen Sting wandeln kann ?
Ich benutze z.Zt. MS Visual Studio 2015.
-
1. Ausgeben.
Der Duden, Definition von 'Aufbereiten' schrieb:
1. (bestimmte Rohstoffe) zur [weiteren] Verwendung vorbereiten, geeignet machen
2. Vorgegebenes in bestimmter Weise bearbeiten [und so für etwas Bestimmtes vorbereiten]
3. (statistisch erhobene Daten o. Ä.) auswertenMit
printf
bereitest du nichts auf, du gibst etwas aus. Intern kann die Funktion was mit deinem Wert machen, aber davon siehst du nichts.2. Du bist seit 5 Jahren hier angemeldet und hast noch nie von RTFM gehört?!
Lern zu googlen.
EDIT:
3. Du plenkst außerdem.
-
Falls noch jemand diese Frage hat, hier die von mir gefundene und funktionierende Antwort.
Bei wsprintf muss man den Formatstring "%I64d" benutzen, um eine 64bit-Integerzahl aufzubereiten/als String anzuzeigen/in einen String zu konvertieren.wchar_t szBuffer[800] ; // für wsprintf MEMORYSTATUSEX ms; wsprintf( szBuffer, L"%I64d", ms.ullAvailPhys )
Ergänzung:
Die genannte Lösung funktioniert bei Visual Studio 2015.
Sie funktioniert auch unter Visual Basic 2010.