Warum Endlosschleife?



  • Heyo...

    mein Programm ist eine Übung zu Eingabe und Ausgabefunktionen...

    Es soll eine Datei mit Text geöffnet werden, danach kann man in der Konsole Text zu der Datei hinzufügen... und dann soll das zusammengesetzt auf dem Monitor ausgegeben werden...

    aber irgendwie bekomme ich dabei ne Endlosschleife, weiß aber nicht wieso...

    // 18.14 fseek
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    int main (void) {
        char quellname[255]; 
        FILE *quelle; 
        int c;
        int d;
    
        //Quelle abfragen
        printf ("Wie heisst die Quelldatei?\n");
        printf ("> ");
        scanf ("%s", &quellname);
    
        //Quelldatei öffnen
        quelle = (fopen (quellname, "a+"));
    
        //weitere Buchstaben einlesen
        printf ("Bitte weitere Eingabe machen, mit * beenden...\n");
        printf ("> ");
    
        while ( (c = fgetc (stdin)) != '*') {
              fputc (c, quelle);
        }
    
        //Zeiger an den Anfang setzen
        fseek (quelle, 0L, SEEK_SET);
    
        //Zusammengesetzt ausgeben
        while ( (c = fgetc (quelle)) != EOF) {
              fputc (c, stdout);
        }
    
        getchar();
        return EXIT_SUCCESS;
    }
    

    Greez

    Haimi



  • Hi Haimi,

    Haimi schrieb:

    scanf ("%s", &quellname);
    

    Hier ist kein Adressoperator notwendig.

    Welche der beiden Schleifen wird denn bei dir zur Endlosen? Ich bekomme nämlich keine Endlosscheife(n).

    Gez. monstermunchkin


Anmelden zum Antworten