Textdateien bis zu einer bestimmten Zeile einlesen???



  • Also das mit dem einlesen hab ich ja jetzt aber ich versteh nicht wie ich ab einer gewissen zeile abbrechen kann???
    also es geht darum ich will eine datei splitten da die viel zu groß ist und diese nacheinander ausgeben wie kann ich das mit c++ am besten umsetzen

    Die datei sieht ungefähr so aus:

    CLIENT0;client
    SERVER0;server
    CLIENT1;client
    SERVER1;server
    CLIENT2;client
    SERVER2;server
    CLIENT3;client
    SERVER3;server
    CLIENT4;client
    SERVER4;server
    CLIENT5;client
    SERVER5;server
    CLIENT6;client
    SERVER6;server

    und ich will nach der 5 zeile beispielweise abbrechen wie funktioniert das muss ich das mit einer schleife machen oder gibt es noch ne andere möglichkeit

    Mit freundlichen Grüßen _sweetheart_



  • Zeilenweise einlesen und nach gewünschter Anzahl abbrechen.
    Was willst du da sonst machen?!



  • aber wie kann ich das abbrechen?



  • sweetheart schrieb:

    aber wie kann ich das abbrechen?

    Zum Beispiel, indem du aufhörst etwas einzulesen?

    Hast du schon einmal eine Schleife benutzt? Da gibt es ein Abbruchkritierium..



  • danke für die hilfe ich werde es mal ausprobieren



  • Hier mal den code soweit ich gekommen bin vllt hilft euch das ja was

    # include <iostream>
    # include <stdio.h>
    # include <stdlib.h>
    # include <time.h>
    # include <stdio.h>
    # include <string>
    # include <algorithm>
    # include <fstream>
    # include <conio.h>
    const int SIZE=200;
    int main()
    {
    int x,iPos=0,Empfaenger,length,zeile,a;
    char sText[SIZE],sZeile[1024],sHost[1024],Abteilung[100],* buffer;
    ifstream file;
    cout<<"Mit diesem Programm werden Ned Send Messages verschickt!! \n\n...Weiter mit der Enter-Taste...";
    getchar();
    cout<<"\nBitte waehlen sie den Empfaenger aus!\n\n1= Gruppe waehlen\n2= Benutzer waehlen\n";
    cin>>Empfaenger;
    if(Empfaenger==1)
    {
    for(zeile=0;zeile<=5;zeile++)
    {
    using namespace std;
    ifstream is;
    is.open("abf_User.txt",ios::binary);
    is.seekg(0,ios::end);
    //length= is tellg();
    is.seekg(0,ios::beg);
    buffer = new char [length];

    //Hier soll die datei gestoppt
    //werden und ausgegeben werden das ausgeben funktioniert aber
    //ich weiß nur nicht wie die datei gestoppt wird

    is.read(buffer,length);
    is.close();
    }
    }
    cout<< buffer<<length;
    delete[] buffer;
    cout<<"\n\n\nBitte waehle eine der Abteilung per NAMEN aus!!!\n\n";
    cin>> Abteilung;
    cout<<"\nSie haben sich fuer die Abteilung "<<Abteilung<<" entschieden!\n";
    }
    if(Empfaenger==2)
    {
    using namespace std;
    ifstream is;
    is.open("abf_User.txt",ios::binary);
    is.seekg(0,ios::end);
    //length= is tellg();
    is.seekg(0,ios::beg);
    buffer = new char [length];
    is.read(buffer,length);
    is.close();
    cout<< buffer<<length;
    delete[] buffer;
    cout<<"Bitte waehlen Sie die Abteilung aus in der sich der Mitarbeiter befindet!!\n";
    cin>> Abteilung;
    cout<<"\nSie haben sich fuer die Abteilung "<<Abteilung<<" entschieden!\n";

    }

    getch();
    }



  • mein problem ist einfach die auch wenn ich die schleife setze gibt er mir trotzdem die ganze datei aus vllt weis ja einer wo ich den fehler gemacht habe

    wäre nett wenn ihr mir helfen würdet

    Liebe Grüße _sweetheart_



  • Mach da mall cpp-Tags rum.

    Also schon mal grunsätzlich:

    Du öffnest eine Datei und gehst erst dann in eine Schleife rein.



  • Hier mal den code soweit ich gekommen bin vllt hilft euch das ja was

    # include <iostream>
    # include <stdio.h>
    # include <stdlib.h>
    # include <time.h>
    # include <stdio.h>
    # include <string>
    # include <algorithm>
    # include <fstream>
    # include <conio.h>
    const int SIZE=200;
    int main()
    {
    int x,iPos=0,Empfaenger,length,zeile,a;
    char sText[SIZE],sZeile[1024],sHost[1024],Abteilung[100],* buffer;
    ifstream file;
    cout<<"Mit diesem Programm werden Ned Send Messages verschickt!! \n\n...Weiter mit der Enter-Taste...";
    getchar();
    cout<<"\nBitte waehlen sie den Empfaenger aus!\n\n1= Gruppe waehlen\n2= Benutzer waehlen\n";
    cin>>Empfaenger;

    if(Empfaenger==1)
       {
        using namespace std;
        ifstream is;
        is.open("abf_User.txt",ios::binary);
        for(zeile=0;zeile<=5;zeile++)
        {
         is.seekg(0,ios::end);
         //length= is tellg();
         is.seekg(0,ios::beg);
         buffer = new char [length];
         is.read(buffer,length);
         is.close();
        }
    

    }
    cout<< buffer<<length;
    delete[] buffer;
    cout<<"\n\n\nBitte waehle eine der Abteilung per NAMEN aus!!!\n\n";
    cin>> Abteilung;
    cout<<"\nSie haben sich fuer die Abteilung "<<Abteilung<<" entschieden!\n";
    }
    if(Empfaenger==2)
    {
    using namespace std;
    ifstream is;
    is.open("abf_User.txt",ios::binary);
    is.seekg(0,ios::end);
    //length= is tellg();
    is.seekg(0,ios::beg);
    buffer = new char [length];
    is.read(buffer,length);
    is.close();
    cout<< buffer<<length;
    delete[] buffer;
    cout<<"Bitte waehlen Sie die Abteilung aus in der sich der Mitarbeiter befindet!!\n";
    cin>> Abteilung;
    cout<<"\nSie haben sich fuer die Abteilung "<<Abteilung<<" entschieden!\n";

    }

    getch();
    }



  • Also mir persönlich wirds zu dreist.. 🙄



  • wieso denn zu dreist???
    ich brauche da nur ne hilfe den rest bekomme ich auch alleine hin
    ich schnall das doch nicht sonst würde ich doch nicht fragen



  • drakon schrieb:

    Mach da mall cpp-Tags rum.

    Waru machst du das übrehaupt auf binärer Basis und wandelst es in Text um. Kannst ja gleich Text einlesen..

    Hier gibts genügend Beispiele:
    Für dich vor allem interessant sind getline und operator>>
    http://www.cplusplus.com/reference/iostream/ifstream/



  • danke dir


Anmelden zum Antworten