wie kann man ein Textfile zeilenweise auslesen und dabei jede Zeile nummerieren??
wie kann man ein Textfile zeilenweise auslesen und dabei jede Zeile nummerieren??
Hallo Debuger,
folgendes C++ Programm liest z.B. deine /etc/fstab zeilenweise ein, und gibt sie mit Zeilen Nr. am Bildschrim und in die Datei fstab.txt (im aktuellen Verszeichnis) aus. Mit "g++ programm.cpp -o programm" kannst du das Programm compilieren.
Gruss Rupert
Code:#include <iostream> #include <fstream> #include <sstream> #include <string> int main() { ifstream leseDatei( "/etc/fstab" ); // Eingabe Datei ofstream schreibeDatei( "fstab.txt" ); // Ausgabe Datei string Zeile; int i=1; while (getline(leseDatei,Zeile)) // Zeilenweise lesen { stringstream S; S << i++ << ": " << Zeile << endl; // Zeile bearbeiten cout << S.str(); // Ausgabe auf den Bildschirm schreibeDatei << S.str(); // Ausgabe in die Datei fstab.txt } }
THX
Warum so umständlich?
nl /etc/fstab
oder
awk '{print NR, $0}' /etc/fstab
Thomas
@ thommy:
Weil ich nl bis heute nicht gekannt habe
und weil ich von awk Null Ahnung habe
und weil die Frage natuerlich im Prog-Forum und nicht im Script-Forum steht
Gruss Rupert
#include <stdio.h>
void abbruch(void);
int zeile;
int main(int argc, char *argv[])
{
char puffer[128];
FILE *textdatei;
if (argc < 2) {
printf("Kein Argument angegeben\n");
getchar();
return 1;
} // if
if ((textdatei = fopen (argv[1], "r" )) == NULL) {
fprintf(stderr, "Sh*** ein Fehler beim oeffnen der datei %s ist aufgetreteten!",argv[1]);
getchar();
return 1;
} // if
while (fgets(puffer,128,textdatei) != NULL) {
fprintf(stdout, "%4d:\t%s", zeile++,puffer);
} // while
fclose(textdatei);
getchar();
return 0;
} // main
eir kannich das alles rückwärts ausgeben.???
Ich meine nur die Zeilen nicht alle Buchstaben.
Lesezeichen