Einlesen von beliebig langen Zeilen



  • Hi Leute,

    bin auf meiner Suche auf dieses Forum gestoßen, quasi als meine letzte Hoffnung 😕

    Also folgendes:
    Habe eine Textdatei, aus der ich Zeilenweise und kommaseparierte Zeichen auslesen und verarbeiten will. (z.B. 12,33,hallo,...)
    Ich habe mich soweit es geht in das Buch C-Z reingearbeitet, finde es aber extrem schwer, mit dessen Hilfe diese Aufgabe zu meistern.

    Für stellt das größte Problem die unbestimmte Zeilenlänge.
    Meine Vorstellung ist es, diese Werte in einem char-Array unter zubringen, jedoch krieg ich das nicht hin, weil jede Zeile unterschiedlich lang ist und ich ja das Array am Anfang initialisieren muss.

    Es geht hierbei um eine Schulaufgabe, deshalb muss ich mich an die Aufgabenstellung halten. Der rest der Aufgabe wird nicht einfacher, jedoch hätte ich einen riesigen Schritt nach vorne gemacht, wenn ich die Dtanesätze vernünftig eingelesen bekomme.

    Würde mich auch über ICQ-Kontakt freuen, aber Antworten auf meinen Post hier, wären mindestens genauso toll!

    Gruß & Dank

    Marquis



  • Wie lang ist in deinem Fall "beliebig lang"? Wenn du eine mögliche Obergrenze hast, kannst du sie nutzen, indem du ein entsprechend großes Array anlegst. Wenn nicht, solltest du die Zeile in kleineren Blöcken einlesen und den Speicher entsprechend mitwachsen lassen (hier ist auch realloc() hilfreich).



  • da ich sehr C++ verwöhnt bin tu ich nur mal vorschlagen, eventuell die datei herzunehmen und immer bis zum nachfolgenden trennzeichen mitzuzählen und erst dann den notwendigen speicher anzulegen und dann erst zu kopieren/einlesen

    ich bin mir nicht sicher ob es die notwendigen funktionen dafür auch in ANSI C gibt




Anmelden zum Antworten