Zeilennummer aus Datei

campa2k

Grünschnabel
Hallo,

ich habe folgendes Problem, ich lese eine Datei ein und lese danach wortweise die Wörter ein. Ich möchte jetzt bei jedem Wort wissen in welcher Zeile der Datei dieses Wort steht.
Weiß einer ne möglichkeit wie ich das realisieren kann

Danke im Vorraus

campa2k
 
Hi.

Am besten wäre es wenn du dann erstmal zeilenweise einliest und die Zeilen dann einfach mitzählst. Die einzelnen Zeilen kannst du ja dann immer noch wortweise verarbeiten.

Es wäre nicht schlecht wenn du dazuschreibst welche Programmiersprache du verwendest.

Gruß
 
LDI R16 16 LDI R17 12
MOV R1 R16

so sieht der code aus. Ich lese wortweise mit fscanf ein. ich möchte nun zb beim zweiten LDI auch zeile 1 haben und nicht zeile 2 oder so. programmiere c++
 
Du programmierst in C++ und verwendest dann fscanf? Wieso das denn?

C++:
#include <fstream>
#include <string>
#include <sstream>

using namespace std;

int main() {
  int nr = 0;
  string zeile;
  ifstream datei ("xyz.dat");

  // zeilenweise einlesen:
  while(getline(datei, zeile)) {
    istringstream worte(zeile);
    string wort;

    nr++; // zeilennummer inkrementieren.

    // Wörter der Zeile verarbeiten:
    while (worte >> wort) {
      // Wörter aus der Zeile "nr"
    }
  }
}

Und halte dich bitte durchgängig an die Groß-/Kleinschreibung. Siehe Netiquette Nr. 15.

Gruß
 
diese funktion hatte ich auch schon benutzt, die ist irgendwie extrem buggy, er ließt nicht alle worte ein die durch leerzeichen getrennt sind, nur hin und wieder mal ein paar.

habs jetzt mit fseek und gemacht.
 
campa2k hat gesagt.:
diese funktion hatte ich auch schon benutzt, die ist irgendwie extrem buggy, er ließt nicht alle worte ein die durch leerzeichen getrennt sind, nur hin und wieder mal ein paar.
Also welchen Compiler benutzt du denn? Wenn da wirklich etwas "extrem buggy" wäre, dann hätten das sicher schon viel mehr Leute festgestellt. ;-]

Gruß
 
Zurück