String einlesen, ausgeben, suchen, löschen

C-Lerner

Grünschnabel
Hallo,

ich möchte ein Programm schreiben, welches Strings einliest.
Dies soll mit dynamischen Speicher funktionieren.

Das geht.Aber vermutlich "falsch".

Nun soll dieses Programm alle Inhalte ausgeben.

Das geht nur falsch.
Beispiel:

Eingabe1Eingabe2

anstatt
Eingabe1
Eingabe2

Ich lese mit gets ein. Mit fgets ist das Problem, dass er zwar ein \n macht, jedoch lese ich pro Eingabe mehrere Strings ein, dann sieht das ganze so aus:

Eingabe1
Eingabe2
Eingabe1
Eingabe2

anstatt

Eingabe1
Eingabe1
Eingabe2
Eingabe2

Wenn das schonmal klappen würde, wäre ich schonmal sehr zufrieden.

Dann möchte ich noch einzelne Eingaben löschen.
Also so zum Beispiel:

Welche Eingabe soll gelöscht werden? 1
Dann wird Eingabe1 gelöscht und Eingabe2 bleibt vorhanden. Bisher löscht er alles mit der free(eingabe);

So und suchen tut er, jedoch gibt er das Suchergebnis nicht aus, bzw. wie kann ich einzelne Strings anweisen, dass die ausgeben werden?

So lese ich ein:

Code:
printf("\nEingabe eingeben: ");
    gets(eingabe);
    testEingabe = (char *)malloc(strlen(eingabe)+1);
    strcpy(testEingabe, eingabe);
 
Hi.

Ich glaube du solltest nochmal versuchen dein Problem neu zu formulieren.
C-Lerner hat gesagt.:
Das geht.Aber vermutlich "falsch".

Nun soll dieses Programm alle Inhalte ausgeben.

Das geht nur falsch.
Beispiel:

Eingabe1Eingabe2

anstatt
Eingabe1
Eingabe2

Ich lese mit gets ein. Mit fgets ist das Problem, dass er zwar ein \n macht, jedoch lese ich pro Eingabe mehrere Strings ein, dann sieht das ganze so aus:

Eingabe1
Eingabe2
Eingabe1
Eingabe2

anstatt

Eingabe1
Eingabe1
Eingabe2
Eingabe2
Was soll das bedeuten? :confused:

Gruß
 
Zurück