minicrispie: Datenbank mit C benutzen

Beitrag lesen

Hallo,

ich hab mal wieder eine Frage an die C-Programmierer hier ;)

in meinem Programm habe ich vor, eine "Datenbank" (CSV-Datei) auszulesen. Dabei ist folgender Aufbau gegeben:

--> long int;char;float;int[Zeilenumbruch]

Dabei bestimme ich vorher die größe der Datei(da alle Felder eine feste länge haben)...

long      *Datenbank_EAN;  
char     **Datenbank_ArtikelName;  
float     *Datenbank_Preis;  
int       *Datenbank_Steuersatz;  
  
[...]  
  
 fseek(datei, 0L, SEEK_END);  
 groesse = ftell(datei);

... und erzeuge dementsprechend die Arrays:

 Datenbank_EAN = (long *) malloc(AnzahlDatensaetze * sizeof(long));  
 Datenbank_ArtikelName = (char **) malloc(AnzahlDatensaetze * sizeof(char));  
 for(i=0; i<AnzahlDatensaetze; i++) //Zweidimensionales char-Array erzeugen  
 {  
  Datenbank_ArtikelName[i] = (char *) malloc(21 * sizeof(char));  
 }  
 Datenbank_Preis = (float *) malloc(AnzahlDatensaetze * sizeof(float));  
 Datenbank_Steuersatz = (int *) malloc(AnzahlDatensaetze * sizeof(int));

Danach will ich die Datei auslesen und alles zusammen in Arrays speichern:

  
 fseek(datei, 0L, SEEK_SET);  
 i=0;  
 while((fscanf(datei, "%d;%s;%f;%i", &Datenbank_EAN[i], &Datenbank_ArtikelName[i], &Datenbank_Preis[i], &Datenbank_Steuersatz[i]) != EOF))  
 {  
  i++;  
 }

Nur an der Stelle, an welcher ich auslese hängt sich das Programm auf. Könnt ihr mir sagen, was ich falsch mache?
Ich bin echt langsam am verzweifeln...

MfG. Christoph Ludwig

--
Wo die Sprache aufhört, fängt die Musik an...
Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
Go to this