Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » milisecunde mit strftime funktion

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
16.07.2008, 11:55 Uhr
~maslensa
Gast


Hallo

ich habe ein Problem und zwar ich kann mit diese Coden keinen milisecond kriegen. Aber ich brauche das auch UNBEDINGT . Wie kann ich das kriegen ? welche parameter muss ich verwenden ?

Danke für die Hilfe.



#include <iostream>
#include <string>
#include <time.h>
#include <fstream>
using namespace std;

string formatTime(const char *format, time_t rawtime=NULL)
{
struct tm *timeinfo;
char buffer[80];

if(!rawtime)
time(&rawtime);
timeinfo = gmtime(&rawtime);


strftime(buffer, 80, format, timeinfo);

return buffer;
}
int main()
{

std::string stringDate;

cout << formatTime("%a, %Y/%m/%d %H:%M:%S %Z") << endl;



system("PAUSE");
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.07.2008, 12:15 Uhr
xXx
Devil


Also zum einen solltest du deine Funktion umschreiben und zum anderen geht es nicht, da std::time_t nur Sekunden speichert!


C++:
#include <iostream>
#include <string>
#include <ctime>

const std::string formatTime(const char *format, const std::time_t rawtime = std::time(NULL))
{
    char buffer[80];
    std::strftime(buffer, 80, format, std::gmtime(&rawtime));
    return buffer;
}

int main()
{
    std::cout << formatTime("%a, %Y/%m/%d %H:%M:%S %Z") << std::endl;
    std::cin.ignore();
}
....

Dieser Post wurde am 16.07.2008 um 12:15 Uhr von xXx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.07.2008, 15:12 Uhr
ao

(Operator)


Wie wärs mit GetTickCount()? Liefert die Anzahl der Millisekunden seit dem letzten Systemstart.

http://msdn.microsoft.com/en-us/library/ms724408(VS.85).aspx

Dieser Post wurde am 16.07.2008 um 15:13 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.07.2008, 16:23 Uhr
0xdeadbeef
Gott
(Operator)


POSIX hat dafür ftime, Windows kann das prinzipiell auch. Allerdings mag Microsoft POSIX nicht, da könnte man ja kompatibel sein, deswegen sieht das da etwas merkwürdiger aus:

C++:
#include <sys/timeb.h>

// ...

struct _timeb tbuf; // POSIX: struct timeb tbuf;
char buffer[100];
size_t s;

_ftime(&tbuf); // POSIX: ftime(&tbuf);
s = strftime(buffer, 90, "%a, %Y/%m/%d %H:%M:%S %Z", gmtime(&tbuf.time));
sprintf(buffer + s, ",%04d", tbuf.millitm);


...std:: einfügen wo notwendig, ich hab das hier in C gemacht. So oder ähnlich würde ich das wohl anfangen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: