PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei mit C++ zeilenweise einlesen



01-02-2001, 16:30
Hier ein Auszug aus einem älteren Proggi von mir, welcher eine Textdatei öffnet (im textmodus), eine Zeile einließt und in zeile[] speichert, diese mit "Format=1" vergleicht, und eine kleine Ausgabe macht, falls die eingelesene Zeile nicht dem String entspricht.
Sion



int datenlesen(char *dateiname)
{
FILE *quelle;
char zeile[ZEILENLAENGE]; // Zeilenbuffer
int n = 0; // Zähler für aktuelles Zeichen
int tnr = 0; // Zähler für aktuellen Track

// =======================
// Dateien öffnen & prüfen
quelle = fopen(dateiname, "r");
if (quelle == NULL)
{printf("\nQuelle \"%s\" falsch - kann Datei nicht öffnen\n", dateiname);return -1;}
fgets(zeile, ZEILENLAENGE, quelle); //1. Zeile einlesen
if ((strnicmp(zeile,"Format=1",8)) != 0)
{printf("\nQuelle \"%s\" falsch - fängt falsch an\n", dateiname);return -1;}

// ===============
// Datei schließen
fclose(quelle);
return 0;
}


Hupsa, klar das mir das jetzt schon auffällt, daß du ja C++ und nicht C meinst. Sollte aber in C++ überhaupt kein Problem machen, weil C++ ja C-Compatible ist und das da oben auch voll nach ANSI.
Die Fkt. die Du gesucht hast heißt übrigens fgets()

[Dieser Beitrag wurde von Sion am 01. Februar 2001 editiert.]

01-02-2001, 23:41
Wenn schon C++, dann bitte aber sowas aehnliches:


#include <iostream.h>
#include <fstream.h>
#include <string>

int main() {
ifstream fin("Makefile");
string buffer;

cout << "Hier der Inhalt der Datei:\n";
while (fin.good()) {
getline(fin,buffer,'\n');
cout <<buffer<<endl;
}
cout << "\nEnde der Ausgabe\n";
fin.close();
}

bye

02-02-2001, 00:30
Hallo,

ich weiß, dass man mit einem Code wie

ifstream fin(irgendeinfileName)
cout << "Hier der Inhalt der Datei:\n";
char ch;
while (fin.get(ch)) cout << ch;
cout << "\nEnde der Ausgabe\n";
fin.close();

eine Datei zeichenweise einlesen und ausgeben kann. Ganz klar ist mir aber nicht, wie ich eine (Text-)Datei einlesen kann und dann den Inhalt in einer oder meherer Variablen zur Bearbeitung ablegen kann. Ich möchte erreichen, dass man mit einem C++ Programm Textdateien, wie z.B. Konfigurationsdateien bearbeiten kann.

Vielen Dank für eure Hilfe...Ulf