C++ Hilfe beim Zugriff auf Dateien



  • Hallo liebe Community,

    ich schreibe seit einigen Wochen an einer Art Sortierungsprogramm.
    Ich habe das Programm in mehrere Teile aufgeteilt. Das Sortieren an sich funktioniert schon ohne Probleme, allerdings nur mit Zahlen die ich dem Programm, per Command eingebe. Ich habe allerdings eine excel Tabelle, welche verwertet werden soll, sprich ich möchte mit dem Programm die Daten der excel Tabelle sortieren oder durchsuchen. Die excel Tabelle soll also eine art Datenbank sein.

    Ich hatte versucht die Daten irgendwie in einen array zu schreiben, dies hat aber nicht wirklich gefruchtet. Nun bitte ich hier mal um Hilfe, ob einer/eine weiß wie ich die Daten der Tabelle im Programm nutzen bzw. darauf zugreifen kann.

    Liebe Grüße Fynn und schonmal vielen Dank.



  • Datei aufmachen, zeile lesen, am komma splitten, naechste zeile lesen, (...), datei zu machen -> fertig.



  • Geht das Problem jetzt eher um das Sortieren oder um das Lesen einer Excel-Datei? Wie ist der Zusammenhang zu einem Array?



  • dies hat aber nicht wirklich gefruchtet

    Das ist ja eine sehr genaue Beschreibung des Problems...



  • Es geht um das lesen der excel Datei. Das sortieren funktioniert wie gesagt schon, allerdings stehe ich halt ein wenig auf dem schlauch wie ich auf die excel Daten zugreifen kann.

    Der Array war ein versuch von mir die Daten von excel zu verwerten, hat aber nicht geklappt.. bzw. es funktionierte aber es würde ewig dauern die ganzen Daten in ein array zu kriegen.



  • armee schrieb:

    aber es würde ewig dauern die ganzen Daten in ein array zu kriegen.

    Klar



  • armee schrieb:

    Es geht um das lesen der excel Datei. Das sortieren funktioniert wie gesagt schon, allerdings stehe ich halt ein wenig auf dem schlauch wie ich auf die excel Daten zugreifen kann.

    Hast du die Datei mal mit Notepad++ geöffnet und geschaut wie die Daten abgelegt sind?



  • Hallo Fynn,

    es gibt in Excel die Möglichkeit, einen Tabelleninhalt als Text-Datei (Text (MS-DOS)*.txt) abzuspeichern. Wenn nur Zahlen in der Tabelle stehen, würde ich diese Möglichkeit wählen. Du erhältst eine Text-Datei, in der die Zahlen durch Tabulator (Spalten) und Linefeed (Zeilen) von einander getrennt sind.
    Diese Datei kannst Du dann mit C++-Mitteln leicht lesen. Mal angenommen, in einer Zeile stehen jeweils zwei Zahlen, dann geht das im Prinzip so:

    ifstream in("datei.txt");
        for( int x,y; in >> x >> y; ) {
            cout << "Gelesen " << x << " " << y << endl;
            // x, y in einem Container ablegen
        }
    

    Versuche das mal und kontrolliere die von Excel abgespeicherte Datei, indem Du sie einfach wie eine Source-Datei in Deinen Editor lädst.

    Und falls Probleme auftauchen, so melde Dich einfach.

    Gruß
    Werner