c - frage ( FILEhandling )

murdi

Erfahrenes Mitglied
hiho , hab da mal wieder ne frage !
diesmal geht es um filehandling in c.

wie kann ich den inhalt einer datei in ein array schreiben ??

hab das bisher immer umständlich gemacht aber nun haben wir die aufgabe bekommen einträge zu bearbeiten oder zu löschen was mit meiner methode ( text rauskopieren in neue datei reinschreiben usw. )
ein wenig aufwendig werden würde,
man dies jedoch mit array wesentlich vorteilhafter lösen könnte !


also über tips oder ähnlichen würd ich mich sehr freuen !

schö abend noch murdi :)
 
z.B. so (ohne irgendwelche spez. Biliotheken zu verwenden):

{
int Laenge=0;
char dummy;
FILE* dat_ein=fopen("DeineDatei","rb");
while(!feof(dat_ein)) //Feststellen, wie lang die Datei ist
//(da gibts auch besseres in Bibliotheken, z.B. _filelength (VC++))
{
fread(&dummy,sizeof(char),1,dat_ein);
Laenge++;
}

char* Dateipuffer = new char[Laenge]; //Puffer in der Grösse
//der Datei erstellen
fseek(dat_ein,0,SEEK_SET); //Zurück an den Dateianfang
fread(Dateipuffer,sizeof(char),Laenge,dat_ein); //einlesen
fclose(dat_ein);
}


Alternativ kannst Du auch Datensatz für Datensatz in eine verlinkte Liste reinschreiben, ja nachdem was beim Bearbeiten Deiner Daten besser ist.
 

Neue Beiträge

Zurück