Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » __int64 mit ofstream ausgeben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
28.09.2003, 20:53 Uhr
Oliver
S2-Pixelgeneral


Hallo,

ich will mit die Frequenz des Performance Counters holen:


C++:
ofs.open("C:\\peformancecounter.txt");
if(QueryPerformanceFrequency(&larg)) ofs<< "Performancecounter vorhanden!\n\n";
else ofs << "Performancecounter nicht vorhanden!\n\n";
ofs << "Frequenz: " << larg(.QuadPart);



Nun kann ich aber keinen __int64 bzw. LARGE_INTEGER mit dem ofstream ausgeben.

Gibts da irgendwie einen Ausweg?
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )

Dieser Post wurde am 28.09.2003 um 20:53 Uhr von Oliver Müller editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.09.2003, 09:57 Uhr
0xdeadbeef
Gott
(Operator)


Ich versteh nicht, was du an dieser Stelle:

C++:
ofs << "Frequenz: " << larg(.QuadPart);


machst. Was ist larg, und was ist QuadPart, und ist diese Syntax so überhaupt in Ordnung?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.09.2003, 15:30 Uhr
Oliver
S2-Pixelgeneral


larg ist eine Variable vom Typ "LARGE_INTEGER".
Dies ist wiederrum irgend so ne Struktur die einen LONGLONG enhält,den QuadPart.LONGLONG ist typedef __int64.

Die Klammern hab ich deswegen gemacht, weil ich nicht richtig weiß, ob ich nun den ganzen LARGE_INTEGER oder nur den QuadPart ausgeben soll, also sie sollen kein Operator sein!
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.09.2003, 15:35 Uhr
Tommix



Hallo,
__int64 ist ein VC-only Datentyp (aka "MS-Erweiterung"). Versuch mal nach double zu casten.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.09.2003, 15:46 Uhr
virtual
Sexiest Bit alive
(Operator)


Jau. Manchmal erlauben Compiler auch einfach Features, die nur in C99 verfügbar sind, auch in C++ zu verwenden. Hier das Beispiel für gcc:


C++:
#include <iostream>
#include <iomanip>

int main()
{
        unsigned long long x = 0x0102030405060708LL;
        std::cout<<std::hex<<x<<std::endl;
}



Code:
$ g++ -Wno-long-long a.cpp
$ ./a.out                  
102030405060708


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 29.09.2003 um 15:46 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
29.09.2003, 15:48 Uhr
0xdeadbeef
Gott
(Operator)


Das QuadPart muss auf jeden Fall hinten dran, aber dann müsste das gehen. Der VC++ hat mir gerade diesen Code gefressen:

C++:
std::ofstream fout;
LARGE_INTEGER test;
fout << test.QuadPart;


Gut, der ist so natürlich nicht lauffähig wg. keine Datei geöffnet usw, aber er kompiliert, von daher müsste es so gehen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 29.09.2003 um 15:49 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: