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
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