ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
63371
63371
EMPFEHLEN
-
06.07.02 13:27 #1
Mitglied Silber
- Registriert seit
- Feb 2002
- Beiträge
- 85
wie kann ich innerhalb einer Konsolen Anwendung bei c++ eine TXT Datei auslesen, die Ich vorher bestimmen kann ...
D.h ich will vorher ein Input machen, indem man den Pfad der Datei eingibt, die dann später ausgelesen werden soll ...
bekomm das aber nich hin ..
thx
-
06.07.02 16:01 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.074
meinst du sowas hier:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
#include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { char filename[128]; ifstream file; char zeile[1024]; // Dateinamen einlesen cout << "Dateinamen eingeben: " << flush; cin.getline(filename, 127); // Datei öffnen file.open(filename, ios::in); if (file.good()) { // Wenn die Datei geoeffnet werden konnte... // An den Anfang der Datei springen file.seekg(0L, ios::beg); while (! file.eof()) { // Die Datei zeilenweise auslesen file.getline(zeile, 1024); cout << zeile << endl; } } else { // Wenn die Datei nicht geoeffnet werden konnte, // aus welchen Gruenden auch immer... cout << "Datei nicht gefunden." << endl; } return 0; }"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
08.07.02 15:38 #3
Mitglied Silber
- Registriert seit
- Feb 2002
- Beiträge
- 85
das angegebene kann leider nur TXT dateien, die 1 eine zeile enthalten ...
;(
-
08.07.02 16:37 #4
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.074
dass das nur mit einzeilern funktioniert, ist teilweise richtig.
eine möglichkeit wäre es eben, dass du in einer schleife jede zeile ausliest und an eine weitere variable anhängst.
da gibt's aber sicher auch eine bessere möglichkeit, mit der man die ganze datei einlesen kann.
oder du verzichtest auf objektorientierung und machst das mit normalem c, indem du jedes einzelne zeichen einliest und an eine variable anhängst."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
08.07.02 21:14 #5
Mitglied Silber
- Registriert seit
- Feb 2002
- Beiträge
- 85
nope, das will ich nicht ....
Das mit der schleife is schon ne gute idee..
aber wo muss ich die ansetzen ****?
-
08.07.02 21:33 #6
Hmmm, schau mal hier
-
09.07.02 12:57 #7
Mitglied Silber
- Registriert seit
- Feb 2002
- Beiträge
- 85
hmm, kann das nich lesen, is so klein gedruckt .. naja ..
is ja nich schlimm ...
-
09.07.02 13:10 #8
dann nicht.
-
09.07.02 13:15 #9
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.074
bei allem respekt, aber das ist doch nun wirklich etwas sehr albern, oder?hmm, kann das nich lesen, is so klein gedruckt .. naja ..
das ist ein pdf. und wie wir alle wissen kann man im acrobat reader zoomen. oder stell deine auflösung runter. oder druck es aus und lies es auf papier.
"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
22.01.05 22:53 #10
Mitglied Bronze
- Registriert seit
- Jan 2005
- Beiträge
- 35
Also wirklich!
-
09.01.10 18:51 #11Warum denn Tutorials.de Gastzugang
Halloa!
Also man kann sehr unkompliziert eine ganze Datei auslesen. Allerdings dann nicht mehr so gezielt, wie mit der oben beschriebenen Methode:
#include <fstream>
#include <iostream>
using namespace std;
void main()
{
ofstream out("witz.txt");
out<<"Es kommt ein Mann zum Baecker und sagt: Ich moechte 99 Broetchen."<<endl;
out<<"Da fragt der Baecker: Duerfen es auch 100 sein?"<<endl;
out<<"Der Mann antwortet: Nein, wer koennte denn so viele essen?"<<endl;
ifstream in("witz.txt");
while(in.eof()!=true) //eof gibt an, wann die txt fertig ausgelesen ist
{
char ch;
ch=in.get();
cout<<ch;
};
cin.get();
};
Grüße!
-
09.01.10 20:54 #12
Es sei denn es tritt vorher ein Eingabefehler auf, dann wird die Bedingung nie erfüllt und man erhält eine Endlosschleife. Darum sollte man eine solche Abfrage nie verwenden. Besser und einfacher:
Code cpp:1
while (in)
Die einfachste Möglichkeit, eine gesamte Datei einzulesen und auf der Standardausgabe auszugeben, wurde allerdings noch nicht genannt:
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include <algorithm> #include <fstream> #include <iostream> #include <iterator> using namespace std; int main(void) { ifstream in("witz.txt"); copy(istreambuf_iterator<char>(in), istreambuf_iterator<char>(), ostreambuf_iterator<char>(cout)); return EXIT_SUCCESS; }
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
Ähnliche Themen
-
Datei einlesen in C++
Von marina75 im Forum C/C++Antworten: 15Letzter Beitrag: 10.11.09, 22:10 -
PL/SQL Datei einlesen
Von zuckerbrini im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 16.02.09, 10:36 -
CSV-Datei einlesen
Von WIK-Lars im Forum PHPAntworten: 4Letzter Beitrag: 03.07.07, 17:39 -
Datei auswählen, Datei einlesen
Von -TS- im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 21.04.05, 21:08 -
Datei einlesen in Batch- (o. ä.) Datei
Von tapferesschneiderlei im Forum Microsoft WindowsAntworten: 1Letzter Beitrag: 04.02.05, 13:28




Zitieren


Login
