Mehrere Worte einlesen



  • Hallo zusammen

    Ich bin C-Programmieranfänger und habe folgende Frage:

    Ich schreibe ein Programm, das beliebig viele Eingaben vom User speichert und sortiert.

    Mein Problem: Ich würde das gerne so haben, dass der User so lange seine Eingaben macht, bis er eine Zeile leer lässt. Die Eingaben sollen gespeichert werden.

    Und das ist mein Problem: Wie kann ich diese Eingabe speichern? Ich weiss ja nicht im Voraus, wie viele Eingaben der Benutzer machen wird. Und da die Eingaben aus Wörtern, sprich mehreren Zeichen/chars bestehen, kann ich nicht einfach ein entsprechendes char-Array erstellen.

    Meine Frage: Wie lässt sich das anstellen? Geht das doch mit Arrays oder gibt es eine andere - nicht zu komplizierte - Lösung?

    Ich hoffe auf eure Antwort... 😕

    greetz

    suì



  • wenn du damit leben kannst das die anzahl der möglichen eingaben begrenzt ist dann kannst du ein statisches zweidimensionales array erstellen

    char ar[50][20];  // erste klammer: maximale länge, zweite klammer: größe des arrays
    

    ansonsten kannst du dir einen vektor (dynamisches array) zusammenbauen, bei dem du dann mit entsprechenden funktionen einträge hinzufügen kannst

    fgets(temp, 120, stdin);
    
    NeuerEintrag(temp);
    

    hierzu brauchst du die funktionen malloc und free



  • Hi!

    suì schrieb:

    Wie kann ich diese Eingabe speichern?

    Weitere Möglichkeiten sind:
    In einem char** Array oder in einer verketteten Liste.



  • Wie kann ich diese Eingabe speichern?

    Weitere Möglichkeiten sind:
    alle die dir einfallen, sowie alle, die dir nicht einfallen.



  • Egal wie - irgendwann ist ne Grenze erreicht - entweder das Array oder der
    Speicher laufen über. Sieh doch nen Puffer von
    sagen wir mal 100 Eingaben vor und warne den Benutzer, wenn das Limit
    erreicht wird. - Ansonsten halt jede Eingabe in einer temporären Datei
    zwischenspeichern und bei heutigen Plattengrößen hat sich der Benutzer
    mit Sicherheit die Finger weggeschrieben, bevor es zu einem Engpass kommt - ja
    die Finger nutzen sich auch ab - genau wie Pferdehufe - grins...
    So in der Art haben wir früher auf der S/370 programmiert, da war
    Speicher immer knapp....


Anmelden zum Antworten