DateiHeader richtig ausgeben !
-
Hi,
ich hab diesen Code eingepflegt :
int time = arrHeader[8] + (arrHeader[9] << 8); time += (arrHeader[10] << 16) + (arrHeader[11] << 24); cout << "time: " << time << endl; tm TM( gmtime(time)); cout << asctime( TM );
Bekomme jetzt leider 2 Fehler :
error C2061: Syntaxfehler : Bezeichner 'gmtime'
'asctime' : Konvertierung des Parameters 1 von 'struct tm *(__cdecl *)(void)' in 'const struct tm *' nicht moeglich
Danke für Deine Hilfe
ShadowEater
-
time_t time; tm TM( *gmtime( &time ) ); cout << asctime( &TM );
Aber wie man die time-Funktionen richtig benutzt/aufruft hättest du auch selber nachschlagen können..
-
Hi,
hab ich ja und ich bin auch fast auf das gekommen was Du mir grad gepostet hast, aber time_t time ist doch eine Neudefinition ?wobei "time" die Variable von oben ist
und da ist time als int deklariert !?
Danke für Deine Mühe
ShadowEater
-
Das hab ich nur gemacht damit ich den Code testkompilieren kann, nimm das time von oben, normal sollte sich int implizit in time_t umwandeln lassen (wobei ich da nicht meine Hand drauf halte, dass der Standard das wirklich garantiert), da beide die gleiche Größe bei x86 haben (sollten)
-
Da fällt mir gerade etwas ein, du solltest oben statt int time besser unsigned int time oder gleich time_t time benutzen.
ggf. musst du dann aber casten beim zusammenbauen von time aus den 4Bytes des Arrays, je nachdem ob der Typ von deinem Array signed oder unsigned ist, aber da du hier Rohdaten betrachtest, sollte das Array eh vom typ "unsigned char" sein.
-
Hi Kritiker,
danke, hab den Fehler gefunden.
Aber ich hab da mal ne generelle Frage zu den Shift Geschichten, kannst Du mir erklären warum ich das bei "Starting date ant time of measurement " und bei "Number of ECG waveform data" machen muss ?
Wie liest Du das aus der Schnittstellenbeschr. raus ?
Meine Bücher schweigen zu diedsen Thema !
Wie und warum würdest Du "Information of arrhytmia", Heart rate usw. ausgeben ?
Kannst Du mir ein bisschen näher erklären was dahintersteckt.
Das einzige was ich glaub ich begriffen hab ist dass "Version of data format" einfach so ausgeben kann das es sich um chars handelt und diese vom Ascii representiert werden ?Wäre super wenn Du mir das erklären könntest ?
Vielen dank für Deine Hilfe und Mühe
ShadowEater
-
Stimmt lässt sich zuweisen
time_t timeOut; timeOut = time; tm TM(*gmtime(&timeOut)); cout << asctime( &TM );
ShadowEaterP.S.:
Hab aber gleich time_t time; verwendet
-
Hi,
bei den ganzen Werten von +10 bis +20, wie sieht das da aus?
Ich beweg mich hier total im dunkeln !Danke
ShadowEater
-
Hi,
hab ich mich irgendwie mißverständlich ausgedrückt ?
Wenn ja lags nicht in meiner Absicht !Oder weiß es momentan keiner ?
Gruß
ShadowEater
-
Hi zusammen,
ich habe nochmal alles überarbeitet und so gut kommentiert wie es ging.
Teilweise wird der Head jetzt auch richtig ausgelesen.
Wie sieht das aber aus wenn 2 Werte auf jeweils 2Byte verteilt sind.
Die etsten beiden Byte und somit den 1. Wert kann ich auslesen z.B.:
Average heart rate://DURCHSCHNITTLICHE (AVERAGE) Herat Rate short int DSHeartRate = arrHeader[52] + (arrHeader[53]); cout << "DSHeartRate Rate: " << DSHeartRate << endl << endl;
Das Ergebnis ist 75, was richtig ist !
Wie sieht es aber mit dem 2. Wert aus (Average instantaneous heart rate ???) ?
Zur verdeutlichung ein 2. Beispiel:
MAXIMUM Heart rate ist der erste 2 Byte Wert (Byte 48 und 49),
MINIMUM Heart rate ist der zweite 2 Byte Wert (Byte 50 und 51), die Berschnung des 1. Wertes müsste stimmen, hoffe ich aber der 2.???//MAXIMUM Herat Rate short int MAXHeartRate = arrHeader[48] + (arrHeader[49]); cout << "MAXHeart Rate: " << MAXHeartRate << endl << endl; //MINIMUM Herat Rate short int MINHeartRate = arrHeader[50] + (arrHeader[51] ); cout << "MINHeartRate Rate: " << MINHeartRate << endl << endl;
Kommt das so hin mit der Bitshifterei bzw. mit dem Fehlen derselben ?
Ich hab selbstverständlich die bereinigte Version nochmal hochgeladen :
http://www.filehosting.at/files/download.php?file=1c133eee8c86bc1220307936b7d07f8bVielen, vielen Dank für eure Mühe und Hilfe
Gruß
ShadowEaterP.S.:
Falls Ihr irgendwelche Tuts, Bücher, Skripten, Worshops oder sonstiges Material kennt, die dieses Thema behandeln wäre ich um jeden Link dankbar