Wie kann ich in einer vorhandenen Textdatei aus einer bestimmten Zeile die letzten 20 Zeichen einlesen?
-
Hallo ich brauche eine Funktion mit der ich aus einer bereits existiereneden Texdatei aus einer bestimmten Zeile die letzten 20 Zeilen auslesen kann
Weiss jemand wie ich das anstellen kann=?
-
Hi,
hier mal schöner link:
http://www.cplusplus.com/ref/iostream/fstream/einfach mit einem filestream und der funktion getline, zeile einlesen, dann die länge der zeile ermitteln (sizeof) und dann halt die ersten buchstaben wegschneiden
MfG BehindTheScenes
-
Koenntest du dafuer ma nen Beispielcode schreiben ?
-
Glaube dazu kannst du hier keinen bewegen, da sich eigentlich niemand dazu berufen fühlt, dir deinen Code zurecht zustricken. Aber such doch einfach mal bei google und Co. Da findeste sicherlich was
.
-
Naja ich habs schonma so weit hinbekommen dass die passende Zeile nun eingelesen wird.Aber jetzt ist sie halt zu lang und ich will den kompletten vorderen Teil ausschneidein,wegkriegen was auch immer.Weisste da vielleicht wie ich des mache?
Code sieht so aus:#include <iostream> // wegen cout cin
#include <fstream> // wegen Dateistreamobjekt
#include <string> // wegen Datentyp string
#include<windows.h>using namespace std;
int main(int argc, char *argv)
{
ifstream file;
int zeile = 4;
string fileName = "Path";file.open(fileName.c_str());
if(file)
{
string text; // Haupttext
int zeilen = 0;
while(!file.eof())
{
string txt; // Buffer
getline(file, txt);
text = txt + "\n";
zeilen++;
if(zeile == zeilen) // gesuchte Zeile erreicht
{
cout <<" "<<text<<" ";
break; // Zeile gefunden, Einlesen abbrechen
}
}
file.close();
}
else
{
cout << "Fehler!";
}
cin.get();
return 0;
}Tja dann wird die passende Zeile ausgeben und wie ich den vorderen Teil weg krieg weiss ich auch nicht

-
Ich weisses nicht

-
mit text.length() kannst du die Länge deiner Eingabezeile bestimmen und mit text.substr() kannst du dann den richtigen Teil ausschneiden.