Problem beim Lesen aus Datei



  • hi,
    ich möchte ein Prog schreiben, das aus einer Texdatei 12 untereinander stehende Werte ausliest und diese in einem Array speichert, da ich später mit den einzelnen Werten noch rechnen muss. Im Prinzip ist mir die Syntax von fscanf und fgets klar, aber irgendwie funzt es net...

    Bitte um schnelle Hilfe!!

    hier nochmal die entsprechende Funktion

    int berechnen (int iINVEST)
    {
    int iZAEHLER=1;
    char sFOND[12];
    FILE *DATEI;

    fflush(stdin);

    do
    {
    DATEI=fopen("fonds.txt","r");
    fscanf(DATEI,"%s",sFOND[iZAEHLER]); /*fgets(sFOND[iZAEHLER],12,DATEI);*/
    iZAEHLER+1;
    }

    while(!feof(DATEI));

    system("pause");

    return 0;
    }



  • Ich habe nur mal kurz drüber geschaut und dein Code ist totaler Murks :p Arrays fangen beim Index 0 an, nicht bei 1.

    DATEI=fopen("fonds.txt","r"); in der do while schleife heißt, das Programm öffnet die Datei bei jedem Schleifendurchlauf.

    Mach mal:

    DATEI=fopen("fonds.txt","r");

    while(!feof(datei))
    auslesen ..

    anstatt der do while schleife

    fflush(stdin); hat auch 0 Sinn.

    iZAEHLER+1; macht auch genau 0.
    Entweder iZAEHLER++; oder iZAEHLER = iZAEHLER+1;



  • vielen dank,
    manchmal kommt man auf die simpelsten sachen nich und sucht die fehler an der völlig falschen stelle...


Anmelden zum Antworten