PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [c++] getline problem



luh
29-04-2005, 17:31
hi
ich moechte eine datei auslesen.
also habe ich


char procLine[256];
ifstream proc;
// proc.find('ippp0', 0); // seltsamerweise hat es mir jedesmal errors ueber find gegeben wenn ich es drin hatte.
proc.open(PATH_NETWORK, ios::in);
proc.getline(procLine, 100, '\n');
cout << procLine << endl;
proc.close();

gemacht. damit komme ich an die erste zeile.
das problem jetzt ist folgendes.
Wenn ich 2 von den getline zeilen mache wie ich sie jetzt schon habe, dann zeigt es mir die 2. zeile, aber wenn ich das weitermache, dann nicht mehr.
(weil dann der container zu ende ist?)
stubs habe ich, aber ich habe probleme sie in code umzusetzen.
es muesste so laufen dass

while(schauObDieErstenFuenfBuchstaben != "ippp0")
procLine = getNextLine();

procLine = getNextLIne() // jetzt weiss ich ja das es die ippp0 zeile ist
... (verarbeitung von procLine)
wenn mir da jemand helfen koennte waers klasse!
luh

locus vivendi
29-04-2005, 17:53
Mehr Code und vor allem eine Beispiel-Eingabedatei wären sicher recht hilfreich. Vielleicht ist ja eine Zeile zu lang, dann würde istream::getline den Stream in einen Fehlerzustand setzen. Danach klappt logischerweise keine weitere Eingabe. Vielleicht kannst du ja das Non-member getline aus <string> verwenden?

P.S.: Zugriff auf eine Referenz, die erklärt, wann sich welche Funktionen (getline) wie verhalten hast du doch, oder?

luh
01-05-2005, 15:20
die datei die ausgelesen wird ist /proc/net/dev
das mit dem nonmember muss ich mal nachschaun.
wieso find nicht funktioniert waere aber auch so ganz interessant.
luh

luh
01-05-2005, 15:32
hey vielen dank!!
jetzt funktioniert es!! das ist einsame spitze! :)
luh