UnderTears
-
Gesamte Inhalte
11 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von UnderTears
-
-
Gut danke
Dann versuch ich mein Glück mal!
-
C++....
-
Du kannst meiner Meinung nach 2 Methoden machen:
1) Du liest die komplette Datei ein, jede Zeile ein Array-Eintrag, und gibst dann nur die letzten n aus.
Wie schreibe ich denn in ein Array? Ich habe da noch 0 mit zu tun gehabt:(
Das hätte ich gern gemacht, aber...mir fehlt irgendwie das logische Verständnis zur Umsetzung.
Die ersten n Zeilen von vorne, ist ja kein Problem, das hab ich neulich ja auch hinbekommen. Nur wie lasse ich zum Ende der Datei springen? Und von da rückwärts auslesen? Da bin wohl zu blöd für....:hells:
-
Ne, die mache ich schon lieber selbst
Ich müsste wissen wie ich ne vorhandene Datei in ein Array schreiben kann und evtl. noch wie sich der Zugriff regelt.
Oder gibt es irgendeine andere Möglichkeit die Zeilen aus der Datei quasi rückwärts auszulesen?
-
Huhu,
nun hab ich die nächste Hausaufgabe, die folgendermaßen lautet
"Erstellen sie ein Programm, das die letzten n Zeilen einer Textdatei ausgibt, wobei n wählbar ist. Die Angabe des Dateinamens, ebenso wie die Anzahl der auszugebenden Zeilen werden interaktiv eingeben.
Fehlerbehandlung bei fehlerhaften Eingaben ist vorzusehen.
Es ist in Ordnung, wenn n einen Maximalwert hat und die Zahl der Zeilen zwischen dem 1 und dem Maximalwert gewählt werden kann."
Meiner Meinung nach MUSS ich das über ein Array irgendwie lösen, denn in einer Datei vom Ende zum Anfang zählen wird schwer, oder ist sogar unmöglich?
Da ich aber noch nie mit Arrays gearbeitet habe *schäm* habe ich noch keinen blassen Schimmer wie ich das realisieren soll
Wäre lieb wenn ihr mir helft :e@sy
UnderTears
-
Du solltest wirklich nicht die Sprache für deine Unzulänglichkeiten verantwortlich machen :floet:
Ok, überredet
Wie äußert sich das denn, dass "er" in die Datei schreibt?Also "Er" kopiert lines mehrfach in die Datei, erweitert Zeilen durch Zaheln etc...
Eine Logik hab ich dahinter leider noch nicht entdeckt
-
Ich habe grade mal das hier:
else if (wahl == 'u') { lines = 0; while (lines < linesstd) { getline(file,s); cout << s << endl; lines++; cout << lines << endl; }
probiert.
Wieso klappt das nur beim der ersten u-Eingabe und geht hinterher weiter als hätte ich d eingegeben?
Boah C++ wird mir immer unsympathischer:floet:
Und nochwas: Wieso schreibt er in die Datei? Dazu forder ich doch nirgends auf?:eek
-
Davon hab ich noch nichts gehört *zugeb*
Ich werde mal meister Google bemühen.
-
Ich soll es nicht über ein Array realisieren, das war auch meine Idee, da könnte ich ja problemlos hoch und runter zählen...
-
Huhu, ich hab ne Aufgabe von meinem Ausbilder bekommen die folgendermaßen lautet:
Erstelle ein Programm, das eine Datei Seitenweise, d.h. eine vorgegebene Anzahl von Zeilen auf einmal, auf den Bildschirm ausgibt. Die Ausgabe kann mit folgenden Befehlen, die über die Tastatur eingeben werden, gesteuert werden:
1. q – Verlassen des Programms
2. d – nächste Seite
3. u – vorhergehende Seite
Der Dateiname und die Anzahl der Zeilen pro Zeile sollen interaktiv eingegeben werden.
Das ganze sieht jetzt dann folgender maßen aus...
#include <iostream> #include <fstream> #include <string> #include <stdlib.h> using namespace std; int main() { int i = 0; int lines = 0; int linesstd = 0; char filename [255]; char wahl; string s; cout << "Wieviele Zeilen sollen ausgegeben werden? "; cin >> linesstd; lines=linesstd; cout << "Bitte geben Sie den Dateipfad an: "; cin >> filename; fstream file(filename); if(!file) { cout << "Datei nicht gefunden:" << filename << endl; } while(linesstd > i) { getline(file,s); cout << s << endl; i++; }; while (wahl != 'q') { cout << "Wollen Sie die naechste Zeile ausgeben(d)" << endl; cout << "oder die vorhergehende Zeile (u) ausgeben?" << endl; cin >> wahl; if (wahl == 'd') { lines = linesstd+lines; while(lines > i) { getline(file,s); cout << s << endl; i++; }; } else if (wahl == 'u') { ???"vorherige zeile (theoretisch)" ??? } else if (wahl == 'q') { system("PAUSE"); } else { cout << "Ungueltige Wahl!\n"; } } return 0; system ("PAUSE"); }
funktioniert bis dahin auch, aber ich weiß nicht wie ich es realisieren soll, dass er die vorherige Zeile ausgibt :confused:
Hoffe ihr könnt mir helfen
Datei in Array einlesen
in C und C++
Geschrieben
Huhu und Danke,
Aufgabe hab ich geschafft, funktioniert sogar reibngslos