Zum Inhalt springen

Zeile aus Datei einlesen und in string speichern


Empfohlene Beiträge

Geschrieben

HI, ich soll einen Morphemerkenner Schreiben.

Der Morphemerkenner an sich ist nicht das Problem, den hab ich fertig - dieser benötigt aber als eingabeparameter die Codezeile die er überprüfen soll.

Ich muss also einer Text-File jeweils immer eine Zeile auslesen, dann in einem String speichern und an den Morphemerkenner übergeben. Dann wiederholt sich das Spiel für die nächste Textzeile.

Leider hab ich keine Ahnung wie ich den Part mit dem Zeilen einlesen machen soll. Kann mir jemand helfen?

P.s.: Da ich in C schreibe meine ich mit String ein Char-array. Also char*test

Geschrieben (bearbeitet)

´Also wenn ich das ausprobiere sieht es wiefolgt aus:

void morph(char*str)

{

...

}

int main()

{

FILE *datei;

char*puffer;

datei=fopen("test.txt","r");

while(!feof(datei))

{

fgets(puffer, 255, datei);

morph(puffer);

}

getchar;

}

Allerdings stürzt das Prog immer ab wenn ich es Testen will.

Kann mir jemand weiterhelfen?

Bearbeitet von Golex
Geschrieben

Dein puffer-Zeiger ist uninitialisiert, zeigt also irgendwo in den Speicher. Du hast fgets zwar mitgeteilt, dass der Zeiger auf einen Puffer der Größe 255 zeigt, aber das ja nun gelogen ;)

Geschrieben
Dein puffer-Zeiger ist uninitialisiert, zeigt also irgendwo in den Speicher. Du hast fgets zwar mitgeteilt, dass der Zeiger auf einen Puffer der Größe 255 zeigt, aber das ja nun gelogen ;)

Jo, hab ich dann auch gesehn.

Aber wie kann ich das Zeilenvorschubzeichen aus dem String entfernen?

Habs mit ner schleife versucht welche an der entsprechenden Stelle im String einfach = NULL setzt, aber das funktioniert nur sporadische - keine Ahnung warum...

Geschrieben
Habs mit ner schleife versucht welche an der entsprechenden Stelle im String einfach = NULL setzt, aber das funktioniert nur sporadische - keine Ahnung warum...
Ich auch nicht - jedenfalls nicht, ohne den Code zu sehen.

Üblicherweise prüft man, ob das letzte Zeichen ein Zeilenvorschub ist, und setzt es dann einfach auf '\0'.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...