Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Strstr()???

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 <
010
21.08.2003, 11:30 Uhr
virtual
Sexiest Bit alive
(Operator)


Das count , was beefy vorgeschlagen hat, ersetzt die ganze while Schleife und damit auch das strstr:
z = std::count ...
--
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
011
21.08.2003, 11:37 Uhr
~Newbee2003
Gast


cool, super danke!

Hab nur noch ne kleine Bitte, kannst du mir vielleicht kurz erläutern, was der da genau macht?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
21.08.2003, 11:45 Uhr
0xdeadbeef
Gott
(Operator)


In der STL kannst du über so ziemlich alles, was Daten beinhaltet und in das man eine Reihenfolge bringen kann, einen Iterator anbringen. Das ist im Grunde eine Art besserer Zeiger, und genauso kann man ihn auch behandeln. Zum Beispiel:

C++:
std::list<int> l;
// l mit Daten füllen
for(std::list<int>::iterator itr = l.begin(); //Iterator deklarieren, auf head setzen
    itr != l.end(); //Bis zum Ende der Liste
    ++itr) { //nächstes Element
  std::cout << *itr << std::endl; //und hier Zeug machen
}


Diese Art der Schleife nimmt dir das lästige rumgebastele mit pointer = pointer->next; usw. ab - man muss das Rad ja nicht immer neu erfinden.
std::copy ist im nur eine Funktion, die zwei Iteratoren (Anfang und Ende) und einen Wert entgegennimmt, dann die Werte aus den Iteratoren ausliest und mit dem Wert vergleicht, um so zu zählen, wie oft der Wert im angegebenen Intervall vorkommt. die istream_iterator<char>s sind Iteratoren auf einem Eingabestream, zum Beispiel einer Datei oder cin, die chars auslesen (so würden dann istream_iterator<int>s ints auslesen), und istream_iterator<char>() ist ein spezieller istream_iterator, der anzeigt, dass der Stream leer ist.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 21.08.2003 um 11:47 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
21.08.2003, 11:51 Uhr
0xdeadbeef
Gott
(Operator)


Plus, du kannst nachher richtig schöne Sachen mit templates machen:

C++:
template <class _storage_class> void dump_me(_storage_class &s) {
  for(_storage_class::iterator i = s.begin(); i != s.end(); ++i) {
    std::cout << *i << std::endl;
  }
}

//...

vector <int> v;
list<string> l;
//...werte einfüllen

dump_me(v); //mir doch egal, ob ich vector oder list kriege. Welchen Datentyp
dump_me(l); //das drin hat? Warum sollte mich das kümmern? Ich kann alles!
            //naja, zumindest alles, was Iteratoren hat...


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 21.08.2003 um 11:51 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
21.08.2003, 11:52 Uhr
~Newbee2003
Gast


Um ehrlich zu sein verstehe ich das nicht. Ist aber nicht so schlimm. Werde mal das Internet so durchsuchen, ob ich was dazu finde. Ich kriege das schon hin.

Ich danke dir trotzdem ganz ganz doll. Sitze nämlich schon seid über einer Woche daran.


( )
( )

--edit: Formatierung hingebogen - (:laola, (:danke

Dieser Post wurde am 21.08.2003 um 12:36 Uhr von 0xdeadbeef editiert.
 
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: