Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Zeile aus Datei einlesen und in string speichern

Empfohlene Antworten

Veröffentlicht

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

´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

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...

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'.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.