Anzahl der von getline zurückgelieferten Zeichen
-
Hallo zusammen,
ich habe folgenden Code:
ifstream f; f.open(FiName.c_str()); char buffer[100]; while (!f.eof()) { f.getline(buffer, 100, '\n'); } f.close();Gibt es eine Möglichkeit herauszufinden, wie viele Zeichen ausgelesen wurden, bis das das '\n' gefunden wurde?
Gruss
Lodo2609
-
Hallo
Wenn du es in ordentlichen C++ machst ist es sehr einfach
#include <string> ... ifstream f; f.open(FiName.c_str()); string buffer; while (!f.eof()) { getline(f, buffer); cout << "Zeichen : " << buffer.size() << std::endl; } // f.close(); brauchst du nicht, wird von ifstream austomatisch gemachtbis bald
akari
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
akari schrieb:
Hallo
Wenn du es in ordentlichen C++ machst ist es sehr einfach
#include <string> ... ifstream f; f.open(FiName.c_str()); string buffer; while (!f.eof()) { getline(f, buffer); cout << "Zeichen : " << buffer.size() << std::endl; } // f.close(); brauchst du nicht, wird von ifstream austomatisch gemachtbis bald
akariDas führt zu UB (Undefined Behaviour)
Besser so:
#include <fstream> #include <string> #include <iostream> int main(){ std::ifstream ifstr("datei.txt"); std::string buffer; while(std::readline(ifs, buffer)) std::cout << "Zeichen: " << buffer.length() << std::endl; }
-
Muss das std::readline oder std::getline heißen? std::readline wird bei mir nicht gefunden.