Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
File-Verarbeitung in C++ bzw. getline(...) Funktion UNTER LINUX

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
embryo
Gast





BeitragVerfasst am: 01. Aug 2001 18:29   Titel: File-Verarbeitung in C++ bzw. getline(...) Funktion UNTER LINUX

Habe ein großes Problem mit der Funktion getline(...), die eine gesamte Datei-Zeile (default) in einen string überträgt. Das ganze Funktioniert unter Windows (Borlan C++ Builder) ohne Probleme:
(#include <fstream.h>)
...
ifstream in("d:/datei.txt");
string buff;
while(!in.eof()) {
getline(in,buff,in.widen('\t'));
cout << buff << endl;
}
in.close();

Unter Linux habe ich jedoch das Problem, dass anscheinend die "beispielstream.widen(char)" Funktion "nicht existiert"!
Nur mit "getline(in,buff);" funktioniert das ganze natürlich super, nur eben wird in dem Fall zeilenweise eingelesen (".widen('
')"), was ich aber nicht will! Mit der "widen(char)" Funktion will ich die Datei nicht zeilenweise, sondern nach Tabulatoren (oder Komma oder was auch immer...) als Trennzeichen einlesen.

Wie erreiche ich das bzw. warum geht das nicht unter Linux? Mit dem Builder unter Windows hauts doch auch hin! Ist etwa die fstream-Library unter Linux anders aufgebaut?

Danke für Eure Hilfe!
 

embryo
Gast





BeitragVerfasst am: 01. Aug 2001 18:34   Titel: Re: File-Verarbeitung in C++ bzw. getline(...) Funktion UNTER LINUX

Korrigiere: ..nur eben wird in diesem Fall zeilenweise eingelesen (".widen('
')")

das in den Klammern der widen Funktion soll ein "Newline-Zeichen" (\ n) sein
 

embryo
Gast





BeitragVerfasst am: 02. Aug 2001 18:23   Titel: Re: File-Verarbeitung in C++ bzw. getline(...) Funktion UNTER LINUX

Hab mein Problem beseitigt! Einfach die "komische" .widen() Funktion weglassen und den char '\ t' als dritten Parameter der getline Funktion übergeben.

Das kommt davon wenn man Code einfach so kopiert und nicht richtig darüber nachdenkt! Mich würde aber trotzdem interesieren, was die widen() Funktion denn eigentlich macht?
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy