Verschachteln



  • Hallo,

    ich wäre Euch dankbar wenn ihr mir einbisschen unter die Arme greifen würdet.
    Es geht um folgendes.

    Ich habe 2 Textdateien.**

    Text 1** sieht folgendermaßen aus: (nicht wirklich aber ca.)

    Zeile 1 alksdjflskdjflsdjflsdjlkfjsldkjfsldkjfl
    Zeile 3 lksdjflsdjflksdjfljsdlfjsdljflsdjfljdsl

    Text 2 sieht folgendermaßen aus:

    Zeile 2 sdafskdföldksölkfösldkfksdfkldsölkfölsd

    So die Aufgabe besteht darin die Zeile 2 zwischen den Zeilen 1 und 3 zu platzieren.
    Natürlich alles in C/C++
    .

    Hat jmd. ne Idee?

    Ich freue mich auf Euere Antworten.
    Viele Grüße

    Scholli



  • mein lieber scholli

    du erstellst ein neues streamobjekt und liest erst zeile1 dann zeile 2 und dann zeile 3 aus der entsprechenden datei ein.
    diesen stream kannst du dann wieder in die datei1 oder in eine neu schreiben, speichern, fertig

    freundlichst



  • O.K.

    Ich nehme Du denkst dabei an die Funktionen

    fopen()
    fgets()
    fputs()
    fclose()

    Danke



  • nein, ein stream wäre fstream.
    wir sind hier nicht in C, denn FILE* gehört C an!
    In C++ nimmt man fstream!



  • So könntest du es machen:

    #include <iostream>
    #include <fstream>
    
    void DisplayLine(std::ifstream &fin) {
        if(!fin) {
            std::cout << "Datei nicht gefunden!" << std::endl;
        }
        char ch;
        while(fin.get(ch)) {
            std::cout << ch;
            if(ch == '\n') {
                break;
            }
        }
    }
    
    int main()
    {
        using namespace std;
        ifstream fin1("daten/0.txt");
        ifstream fin2("daten/1.txt");
        DisplayLine(fin1);
        DisplayLine(fin2);
        DisplayLine(fin1);
    	return 0;
    }
    

    0.txt

    1. Zeile aus Datei 0.txt
    2. Zeile aus Datei 0.txt
    

    1.txt

    1. Zeile aus Datei 1.txt
    

    Ausgabe:

    1. Zeile aus Datei 0.txt
    1. Zeile aus Datei 1.txt
    2. Zeile aus Datei 0.txt
    

    mfg.


Log in to reply