Einlesen von Zahlenwerten aus einer Datei



  • Hallo,

    kann mir jemand einen Tip geben, wie ich n-Zahlenwerte, die in einer Datei stehen und durch TABS getrennt wurden am besten in eine Matrix einlese.

    Gruß,

    W2K2005



  • wahrscheinlich ein schlechter Vorschlag

    Mit fgetc Die Datei Zeichen für Zeichen lesen,
    wenn ein Tab auftritt ist eine Zahl fertig

    Falls die Datei klein ist

    -Datei öffnen
    - Länge feststellen
    - Buffer allokieren
    - komplett in einen Buffer lesen
    - Den Buffer mit substr bearbeiten (hab den Code an anderer Stelle im Ansi C Forum gepostet.



  • Hi,

    wie konvertierst Du dann die Einzelzeichen in eine Zahl?

    Gruß,

    W2K2005



  • Hi,

    also, angenommen in meiner inp-Datei befindet sich eine Matrix mit 100 Spalten + Zeilen und jede Zahl wird durch 10 Zeichen oder mehr repräsentiert.

    Wie soll ich das am besten Einlesen. Habe noch nie eine Datei komplett in den Buffer eingelesen. Wo finde ich eine entsprechende Anleitung im Forum?

    Gruß,

    W2K2005



  • paar schlagworte, die du jetz puzzeln kannst:

    malloc, realloc, free, fgets, strtok, atoi/atof, scanf/sscanf



  • Um eine ganze Datei in einen Buffer einzulesen

    fopen  mode "rb" um zu öffnen
    fseek  um uns Ende der Datei zu gehen
    ftell um die Länge auszulesen
    ..alloc um eine char Buffer mit der durch ftell ermittelten Größe zu allokieren
    fseek um an den Anfang der Datei zu positionieren
    fread um den Buffer mit dem File zu füllen
    fclose um das File zu schließen.
    

    Die einzelnen Parameter der Funktionen kann man im Handbuch/Hilfe nachlesen, es lohnt sich auch die Verweise auf ähnliche
    Funktionen zu lesen


Anmelden zum Antworten