Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

einlesen eines structs aus einer datei in c





Frage

hi @ all ich hab ein kleines problem, bei der programmierung eines quellcodes. da ich noch mich noch nicht so gut mit dem einlesen von dateien auskenne und anfänger bin, wende ich mich hoffungsvoll an euch. aber nun zu dem problem. ich habe von einen vorgesetzten eine datei bekommen, in der schon daten eingetragen sind, die ich einlesen soll und auswerten muss. das problem das ich dabei habe ist, das die daten in form eines struct´s aufgebaut sind. der struct hat folgenden aufbau: struct Satz { char Ort[15][16]; char Kfz[15][4]; int Entfernung[15][15]; }; das problem mit dem fopen habe ich schon alles, ebenfalls kann ich ohne probleme die char zeichen einlesen, nur die int werte funktionieren nicht, da kommt nur müll heraus. wer kann mir bei meinen problem helfen?? bin für jeden tipp dankbar..

Antwort 1 von abc123

Hier ein Beispiel

#include <stdio.h>

void clear(void* record, int recordsize) {
memset(record,0,recordsize);
}

struct Satz {
char Ort[15][16];
char Kfz[15][4];
int Entfernung[15][15];
};

int main() {

struct Satz rec;
FILE *datfile;

clear((void*)&rec, sizeof(rec)); // mit 0 füllen
datfile = fopen("daten.dat","wb");

//... Weitere Verarbeitung

fwrite(&rec,sizeof(rec),1,datfile);
fclose(datfile);

}

Gruss,
Michael

Antwort 2 von abc123

Ups! Ich sollte wohl zuerst die Frage lesen. Du hast das Lesen gemeint, nicht das Schreiben. :-)


datfile = fopen("daten.dat","rb");
if(datfile == NULL) {
... Fehler melden und raus
}

rewind(datfile); // zum Dateianfang
fread((void *)&rec,sizeof(rec),1,datfile);

usw.

Gruss,
Michael

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: