Programm zum Auslesen/Zusammenfassen von Textfiles



  • Hmmm stimmt. Ich bevorzuge es allerdings meinen Code zu verwenden, einfach weil ich den einigermaßen verstehe und ja 😃
    Ich stehe hier gerade wieder vor einem Problem. Ich habe nach einer Möglichkeit gesucht die Anzahl an Daten in einem Ordner zu zählen und anschließend in einer Variable zu speichern (damit die Schleife weiß wie oft sie laufen muss). Gestoßen bin ich da auf "WIN32_FIND_DATA" und "FindFirstFile". Ist das die beste Möglichkeit, bzw. einzige? Und kennt da jemand einen guten ref link wo es gut erklärt wird? Habe in denen die ich bisher gefunden habe nicht wirklich viel verstanden.
    Lg und Danke Tehiyok



  • Tehiyok schrieb:

    Ich habe nach einer Möglichkeit gesucht die Anzahl an Daten in einem Ordner zu zählen und anschließend in einer Variable zu speichern (damit die Schleife weiß wie oft sie laufen muss).

    Ich verstehe nicht, was du mit dem "damit die Schleife weiß wie oft sie laufen muss" sagen willst. Entweder du willst nur die Anzahl haben - oder du willst über die Dateien iterieren (dann brauchst du aber vorher nicht zu wissen, wie viele Dateien es sind).

    Tehiyok schrieb:

    Gestoßen bin ich da auf "WIN32_FIND_DATA" und "FindFirstFile". Ist das die beste Möglichkeit, bzw. einzige? Und kennt da jemand einen guten ref link wo es gut erklärt wird?

    Wird hier erklärt:
    https://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx

    Alternative ist zum Beispiel: http://www.boost.org/doc/libs/1_61_0/libs/filesystem/doc/tutorial.html#Directory-iteration



  • Ich verstehe nicht, was du mit dem "damit die Schleife weiß wie oft sie laufen muss" sagen willst.

    Nun ja, ich habe in meinem Code eine Schleife die pro Durchlauf eine Datei ließt, speichert. Nächste Datei ließt, speichert usw.
    Damit ich nicht pauschal schreibe das die Schlaufe zum Beispiel 100 Mal läuft, möchte ich die Anzahl der Datein in dem jeweiligen Ordner in eine Variable speichern, wodurch die Schleife dann genau weiß wie oft sie laufen muss.



  • Tehiyok schrieb:

    Ich habe nach einer Möglichkeit gesucht die Anzahl an Daten in einem Ordner zu zählen

    Das passiert in einer Schleife.
    Die Abbruchbedingung ist: "keine Dateien mehr vorhanden"

    Du weißt vorher nicht wie oft die Schleife durchlaufen wird.

    Tehiyok schrieb:

    Damit ich nicht pauschal schreibe das die Schlaufe zum Beispiel 100 Mal läuft, möchte ich die Anzahl der Datein in dem jeweiligen Ordner in eine Variable speichern, wodurch die Schleife dann genau weiß wie oft sie laufen muss.

    Das ist doch gar nicht nötig. Beim Dateizählen klappt das doch auch.

    Warum machst du das nicht alles in der ersten Schleife.



  • Warum machst du das nicht alles in der ersten Schleife.

    Ich bin mehr oder weniger kompletter Beginner und wusste nicht ein Mal das das geht. Danke für deinen Rat ^^



  • Ich melde mich hier Mal wieder zurück 🙂
    Hatte in den letzten Tagen leider nicht ganz so viel Zeit, hab mir aber den Vorschlag zu EOF ein wenig angeschaut. Habs auch gleich probiert bin aber auf ein Problem gestoßen. Ich habe jetzt halt das

    do {} while ()
    

    mit einer normalen

    while ()
    

    Funktion ersetzt, in welche ich dann das EOF schreibe. Und jetzt gibt es folgendes Problem (ich verweiße da auf den Quellcode den ich in einem letztern Post geschrieben habe), das EOF bezieht sich da auf LogFile/string3. Das habe ich hier deklariert:

    ostringstream stringnumber, buffer;
    	  stringnumber << number;
    	  string3 = string1 + stringnumber.str(); 
    
    	  cout << string3 << endl;
    
    	  ifstream LogFile;                                                          
    	  LogFile.open(string3);
    

    Das Problem dabei ist das ich ganz am Ende der Schleife, die Variable number immer um eins erhöhe damit halt die Dateien "hochgezählt" werden. Das bedeutet das ich die Deklaration die ich oben gechrieben habe, in der Schleife habe damit ich es eben hochzählen kann, gleichzeitig brauche ich aber auch LogFile/string3 vor der ersten while Schleife um es eben als Abbruchbedingung zu verwenden. Vor der Schleife kann ich es auch nicht machen, da sich LogFile/string3 dann nicht erhöht. Gibt es da irgendeine Möglichkeit die ich übersehe/nicht weiß? Danke und Lg 😃


Anmelden zum Antworten