Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Probleme mit getline()

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
04.09.2006, 22:10 Uhr
PaRu



wenn ich getline benutzen will, bekomme ich immer beim compilieren die fehlermeldung:
symbol getline not declared.

der quellcode sieht wie folgt aus:

#include <string>
#include <fstream>

using namespace std;

int main()
{
string inhalt,buffer;
fstream Datei("Pfad",ios::in);

while(string::getline(Datei,buffer))
{
inhalt+=buffer;
inhalt+='\n';
}
}

als compiler bnutze ich open watcom, der auch bisher prima funktioniert hat.

Gruß Patrick
--
Gruß Patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.09.2006, 22:24 Uhr
Blubber2063



Tjoa, wie wäre es wenn du mal Getline nicht von string nehmen wollen würdest. getline ist eine ganz normale Funktion und gehört nicht zu string.

www.cplusplus.com/ref/iostream/

Dieser Post wurde am 04.09.2006 um 22:25 Uhr von Blubber2063 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.09.2006, 22:41 Uhr
PaRu



bei dem getline von ios muß man aber angeben wieviele zeichen man einlesen möchte und das weiß ich vorher nicht.

Datei.getline(buffer, length)

zudem ist bei mir buffer ein string und nicht vom typ char*.
--
Gruß Patrick

Dieser Post wurde am 04.09.2006 um 22:41 Uhr von PaRu editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.09.2006, 23:02 Uhr
Blubber2063



Nein du hast mich missverstanden, es gibt die Memberfunktion getline die mit CStrings arbeitet, es gibt aber auch die funktion getline, die genau die Parameter kriegt die du der nicht existierenden statischen Memberfunktion string::getline geben wolltest.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.09.2006, 23:17 Uhr
PaRu



wie mußß dann deiner meinung nach die while-bedinung aussehen?

mit folgendem code geht es trotzdem nicht.

while(getline(Datei,buffer))

die fehlermeldung ist die gleiche. zudem ist getline wenn ich das hier richtig interpretiere teil von string. http://msdn2.microsoft.com/en-us/library/2whx1zkx.aspx
also ist doch string::getline() nicht falsch.
--
Gruß Patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.09.2006, 23:51 Uhr
Blubber2063



Also getline ist anscheinend im Header von string, es gibt aber keine statische Methode getline von der string klasse, vielleicht gibt es eine Memberfunktion getline, die zur stringklasse gehört, aber eine normale Anwendung von getline ist folgende:

C++:
string bla;
getline(inputStream, bla);


Optional kannst du noch den delimiter Charachter als dritten parameter angeben.
Für deine schleife wäre das folgendes:


C++:
while((!Datei.eof()) && getline(Datei, buffer))



oder schöner:


C++:
for (getline(Datei, buffer); !Datei.eof(); getline(Datei,buffer)

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.09.2006, 00:01 Uhr
Blubber2063



Hmm, ich seh grad der Open Watcom compiliert das nicht, allerdings ist es mir jetzt leicht zu spät da nachzugraben warum, liegt aber mit Sicherheit daran, das die ihre eigene Stl da haben. Mit nem standard Compiler, wie GCC oder Visual C++ oder Borland sollte das aber eigentlich compilieren.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.09.2006, 09:13 Uhr
PaRu



Danke für die hilfe.
--
Gruß Patrick

Dieser Post wurde am 05.09.2006 um 09:19 Uhr von PaRu editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.09.2006, 09:17 Uhr
PaRu



die antwort gibt es unter open watcom stl.

www.openwatcom.org/index.php/Open_Watcom_FAQ

schade. muß ich erstmal einen anderen opensource compiler finden. hat da jemand einen guten tip. er sollte für xp sein.
--
Gruß Patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.09.2006, 09:49 Uhr
ao

(Operator)


Muss es Open Source sein, oder geht auch Closed-Source-Freeware? Dann würde ich Visual C++ 2005 Express vorschlagen:

www.microsoft.com/germany/msdn/vstudio/products/express/visualc/default.mspx
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: