Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » std::string mit char * vergleichen

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 <
000
17.12.2004, 14:41 Uhr
~Jonas
Gast


Wie kann ich einen std::string mit einem char* vergleichen? mit strcmp geht das nicht? Bzw wie kann ich einen std::string in ein char * umwandeln?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.12.2004, 14:49 Uhr
CaesarCortezz
minderer Student


strcmp ist C.
umwandeln kannst du einen String (z.B als Parameter) mit beispiel.c_str
beispiel=variable
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.12.2004, 14:51 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


2 möglichkeiten... du nimmst einen std::string und "packst" da den inhalt rein auf den dein char* zeigt... oder du verwendest c_str

1)

C++:
char blabla[]="tralala";
std::string blabla2="tralala"
std::string temp;
temp=blabla;
if(temp=blabla2)...



2)

C++:
char blabla[]="tralala";
std::string blabla2="tralala"
if(!strcmp(blabla,blabla2.c_str())...




Bearbeitung:

arg gegen eine katze verloren


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

Dieser Post wurde am 17.12.2004 um 14:52 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.12.2004, 14:53 Uhr
~Jonas
Gast


c_str() ist genau das was ich gesucht hatte. Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
17.12.2004, 14:53 Uhr
CaesarCortezz
minderer Student



Zitat:

arg gegen eine katze verloren





Dafür hatte ich die klammern bei c_str() vergessen
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.12.2004, 11:35 Uhr
(un)wissender
Niveauwart


Einfacher geht es so:

C++:
const char * mycharstr = "Hallo";
std::string mystr("Hallo");
if(std::string(mycharstr) == mystr)
//...


--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.12.2004, 13:44 Uhr
CaesarCortezz
minderer Student


@wissender
wie nennt man das was du gemacht hast. sind das casts?
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
18.12.2004, 14:32 Uhr
(un)wissender
Niveauwart


Nein, das ist ein Konstruktoraufruf (für ein unbenanntes temporäres Objekt).
Hier mal zu Verdeutlichung:
std::string * str = new std::string(mycharstr);
--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 18.12.2004 um 14:33 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: