getline-Methode in for-Schleife
-
Hallo Leute !
Ich hab hier ein kleines Programm, das gerne noch größer werden würde. Leider habe ich ein Problem, bei dem ich nicht weiterkomme.
Ich habe eine Textdatei, aus der ich zeilenweise auslesen möchte, und die Zeilen dann auf dem Bildschirm ausgeben. Das tut das Programm auch, doch leider stürzt mir die Console ständig ab, wenn es einige Zeilen ausgegeben hat.
Hier mal der Code. Vielleicht fällt euch ja was dazu ein. Nicht wundern über die nicht benutzte "eingabe". Das Programm ist halt noch nicht fertig.
#include <stdio.h> #include <fstream.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; // Zählvariable char chZeile[200]; // Kopie des Inhalts einer Zeile char chDateiOut[100] = "D:\\Testordner\\Net_Namen.txt"; // Pfad/Name der zusammenhängenden Datei char chDateiIn[100] = "D:\\Testordner\\Test.txt"; // Pfad/Name der einzelnen Dateien ifstream ausgabe; // Objekt der Klasse "ofstream" erzeugen ofstream eingabe; // Objekt der Klasse "ifstream" erzeugen ausgabe.open(chDateiOut, ios::in); // Mit der open-Methode die Datei chDateiOut // zum Lesen öffnen ausgabe.seekg(0,ios::beg); // Dateizeiger an den Anfang der Datei setzen for (i=0; i=5; i++) { ausgabe.getline(chZeile, 200, '\r'); cout << chZeile <<"\r" ; }; system("PAUSE"); return 0; }
-
#include <stdio.h> //brauchst du nicht #include <fstream.h> //verwende fstream #include <stdlib.h> //verwende cstdlib //include iostream int main(int argc, char *argv[]) { int i; char chZeile[200]; char chDateiOut[100] = "D:\\Testordner\\Net_Namen.txt"; char chDateiIn[100] = "D:\\Testordner\\Test.txt"; ifstream ausgabe;//schlechter name ofstream eingabe;//sinnlos ausgabe.open(chDateiOut, ios::in);//verwende den Ctor dafuer ausgabe.seekg(0,ios::beg); //sinnlos for (i=0; i=5; i++) { //i=5 ist so ziemlich IMMER true ausgabe.getline(chZeile, 200, '\r'); // \r?? wieso? cout << chZeile <<"\r" ; }; system("PAUSE"); return 0; }
ich wuerde lieber mit getline() und string aus <string> arbeiten!!