write read Problem / Datenstream
-
Hallo zusammen,
ich stehe vor folgendem Problem, ich möchte von einer datei einen Datenstream byteweise einlesen und auf Variablen verteilen.
Dabei möchte ich auf einmal mit der fwrite funktion 3 Bytes in einen Temporären Buffer einlesen.
Mit welcher funktion ist es möglich den buffer auszulesen, sodass ich beim ersten aufruf das 1 Byte auslese, beim 2ten Aufruf das 2 Byte, usw..
Gibt es da einen Mechanismus wie wenn ich von einer datei lese, wo er sich automatisch die letze gelesene position merkt??
Vielen Dank für eure Hilfe
Matrix1900
-
Solange du die Datei offen hältst, merkt sich das Programm die aktuelle Leseposition. Wenn es unbedingt notwendig ist, sie zu schließen und neu zu öffnen, helfen vielleicht ftell() und fseek() weiter.
-
danke für die antwort, aber das war nicht meine frage, ist evtl. etwas falsch formuliert. sry.
ich möchte die 3 bytes welche ich von einer datei in einen buffer eingelesen habe auswerten. dazu möchte ich zuerst das 1 Byte lesen, dann das 2 Byte usw. welche funktion kann ich dafür verwenden?
-
matrix1900 schrieb:
ich möchte die 3 bytes welche ich von einer datei in einen buffer eingelesen habe auswerten. dazu möchte ich zuerst das 1 Byte lesen, dann das 2 Byte usw. welche funktion kann ich dafür verwenden?
buffer[0], buffer[1], byffer[2]?
-
danke für die antwort, und mit welcher funktion kann ich die 3 bytes einlesen und in den buffer schreiben. ich darf die funktion nur einmal aufrufen (read)
-
fread
-
danke für die info,
habe noch eine kurze frage.wenn ich folgendes aufrufe
printf("%d", a->adresse);
wird die variable mit wert 0 angezeigt
rufe ich aber das auf:
int x=a->adresse; printf("%d", a->adresse);
wird der richtige wert der variablen angezeigt. warum das??
-
matrix1900 schrieb:
warum das??
Das liegt an Zeile 42.
Genaueres kann ich dir leider nicht sagen, denn:
Kaffee trinke ich nicht, kann also nicht im Kaffesatz lesen. Und die Hühnerknochen gibt es erst morgen wieder.Mach ein ganz kurzes Program in dem der Fehler auftritt, und das postest du dann.
Sonst schau noch mal hier: http://www.c-plusplus.net/forum/136013
-
Sicher Zeile 42?
Hatte eher auf 4711 getippt.
Aber vllt. hab ich mir einfach nur eine andere Struktur ausgedacht ;POhne Schmarn, wenn du solche Fehler bekommst und über einen Debugger verfügst, dann probiere es mal mit diesem. Vllt. wird es dort klarer, was in dem Programm wie nicht funktioniert
-
DaRe schrieb:
Sicher Zeile 42?
Hatte eher auf 4711 getippt.
Da kommt darauf an, ob du die #includes mit dazu rechnest.