Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
c: tabelle(txt) mit variabler spaltenzahl einlesen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
olli72
Gast





BeitragVerfasst am: 26. Apr 2002 13:39   Titel: c: tabelle(txt) mit variabler spaltenzahl einlesen

hallo,
ich stehe vor einem problem und hoffe auf eure hilfe! ich möchte in c eine tabelle mit variabler spaltenanzahl einlesen. die erste spalte beinhaltet eine beschreibung die anderen spalten float werte (tab delimited). in den beschreibungen befinden sich auch leerzeichen. wie kann ich die beschreibungen und die dazugehörigen spalten einlesen um z.b die numerischen werte log2 zu transformieren. ich hatte bereits ein programm mit dynamischer speicherallozierung geschrieben (ich habe die numerischen werte in ein dyn. 2d array geschrieben) jedoch habe ich es nicht geschafft die beschreibungen in ein 2d char array zu schreiben. besteht die möglichkeit strukturen dynamisch zu generieren (wegen der variablen spaltenzahl)?
kurz zusammengefasst:
1.)wie kann ich die beschreibungen aus dem textfile in ein array einlesen (z.b array[0]=beschreibung1 array=beschr.2 usw)?
2.)gibt es einen dynamischen ansatz für das einlesen von n numerischen werten aus dem txt file.
ich danke euch im voraus für eure hilfe.
olli
 

rene
Gast





BeitragVerfasst am: 29. Apr 2002 1:13   Titel: Re: c: tabelle(txt) mit variabler spaltenzahl einlesen

Verkettete Listen sind dein Freund.
Um es kurz zu machen sehen die so aus

struct spalte {
union {
char *str;
float value;
};
struct spalte *next;
};

und

struct zeile {
struct spalte *first_spalte;
struct zeile *next;
};

Du musst nicht unbedingt Listen nehmen,
Arrays auf die ein realloc() gemacht wird wen man feststellt die sind zu klein, oder noch komplexer, Baeume und Hashes.
Aber suche mal im Netz nach listen, da gibt es genug.
Bzw wenn du c++ nutzt nimm die STL.
Das Einlesen machst du am besten Zeile fuer Zeile und parst die dann durch nach dem trennzeichen (strtok zB) oder manuell, oder nimmst Flex/Yacc (is aber mit kanonen auf spatzen geschossen).

Der Post soll dir keine Lösung geben nur nen Hinweis (bin faul), ich habe meine structs auch nicht nachgeprüft ob die compilen.
Fuers Umwandeln von Strings in floats: atof.
Wenn du noch ne Func brauchst die Sicher Zeile fuer Zeile aus ner Datei liest, schreib was, dann kann ich Copy&paste machen.

(ps das board filtert die leerzeichen raus, also bedank dich nicht bei mir)
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy