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 umsetzenDie 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;serverund 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 wirdis.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