Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » verdammte streams

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
22.11.2003, 17:34 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



C++:
std::istream& operator>> (std::istream& is, Record& r){
   is>>r.a;>>"\t">>r.str;    
   return is;
}


wie bekomme ich mit möglichst einfachen mitteln den spass aus dem istream in den std::string str;
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.11.2003, 18:27 Uhr
0xdeadbeef
Gott
(Operator)


Da ist ein Semikolon zuviel drin, und du versuchst in einen const char* einzulesen. Was du meinst, ist wohl:

C++:
std::istream &operator>> (std::istream &is, Record &r) {
  is >> r.a;
  if(is.peek() != '\t') {
    is.setstate(std::ios_base::badbit);
  } else {
    is.get();
    is >> r.str;
  }
  return is;
}


Das ist nicht der einfachste, aber dafür ein sauberer Weg.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.11.2003, 22:00 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@beefy
ja das mit dem semikolon war wegen dem zu schnell gepostet
das problem was ich habe habe ich mit deinem posting auch

C++:
is >> r.str; //diese zeile ist und bleibt mein problem
error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<cha
r> >'
(or there is no acceptable conversion)


ich krieg das nicht in eine std::string rein
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 22.11.2003 um 22:04 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.11.2003, 22:19 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Müßte das nicht andersrum richtig sein?


C++:
r.str<<is;


Dieser Post wurde am 22.11.2003 um 22:22 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.11.2003, 23:17 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Guybrush Threepwood
nein ich will ja gerade den anderen operator überladen
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.11.2003, 00:24 Uhr
virtual
Sexiest Bit alive
(Operator)


1. Wer oder was ist Record?
2. Wen oder was hast Du includiert?
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.11.2003, 00:31 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



C++:
#include <iostream>
#include <vector>
#include <fstream>
#include <string>

class Record{
    public:
        Record(){};
        friend std::ostream& operator<<(std::ostream& ,const Record&);
        friend std::istream& operator>> (std::istream&, Record&);        
//    private:
        int a;
        std::string str;
};



um meine frage anders zu formulieren
warum geht das nicht und wie lös ich das problem(ausser mit dem getline ich will nach möglichkeit den operator >> verwenden

C++:
int main(){
std::string abc;
std::cin>>abc;
}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 23.11.2003 um 09:54 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
23.11.2003, 09:51 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich kann keinen Fehler entdecken.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
23.11.2003, 11:24 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


verdammt jetzt geht das kleine mainproggie bei mir auch.
das versteh ich nicht. Ich habe doch nichts anderes gemacht als den rechner gestern abend runterzufahren. heute wieder zu starten und dann auf compilieren zu klicken und auf einmal frisst der das.
Ich versteh die welt nicht mehr. An dem Scheiss das kleine mainproggie zum laufen zu bringen hab ich gestern 3 stunden gesessen und der wollte das aufs verrecken nicht fressen egal wieviele neue projekte ich angefangen habe.
Naja egal jetzt scheint das zu gehen
danke
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
23.11.2003, 15:04 Uhr
virtual
Sexiest Bit alive
(Operator)


wahrscheinlich liegt das an irgend so einem Bug in deinem viel geliebten VC 6, mit präcompiled Headern und so, alles Dinge, auf die man verzichten kann.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
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: