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