Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Groß- und Kleinschreibung ignorieren?

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
13.09.2004, 19:23 Uhr
~beenie
Gast


Hallo

gibt es in c++ eine methode die bei einem string groß- und kleinschreibung ignoriert?

es geht um eine suchfunktion und da ist es halt doof wenn man nach "hallo" suchen will und dann "Hallo" nicht gefunden wird...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.09.2004, 19:58 Uhr
(un)wissender
Niveauwart


Nein. Musst du selber schreiben, bspw. mit tolower() oder toupper().
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.09.2004, 20:37 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Wenns nur unter Windows laufen soll kannst du _stricmp benutzen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.09.2004, 12:54 Uhr
~beenie
Gast


Es soll leider nicht nur unter Windows laufen...

Ich hab folgendes ausprobiert, aber das geht leider nicht:


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

using namespace std;

int main()
{
     char *test = "Hallo";

     for(int i = 0; i < strlen(test); i++)
     {
    tolower(test[i]);
     }

     cout << test;

     return 0;
}



Ist da irgendwo ein Fehler?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.09.2004, 12:54 Uhr
~beenie
Gast


Also es wird compiliert, aber die Ausgabe lautet "Hallo"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.09.2004, 12:59 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Du änderst ja auch nix

versuchs mal so:

C++:
test[i] =tolower(test[i]);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.09.2004, 14:11 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


verändern ist ja auch nicht nötig...
ungetestet so ins Forum gehackt

C++:
int mystrcmp(char*str1,char*str2){
for(;*str1;++str1,++str2)if(tolower(*str1)-tolower(*str2))return 1;
if(*str2)return 1;
return 0;
}


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

Dieser Post wurde am 14.09.2004 um 14:12 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
14.09.2004, 15:25 Uhr
(un)wissender
Niveauwart


Moment!
char *test = "Hallo"; darf auf keine Fall verändert werden, da es eigentlich const ist!
Der speicherplatz für die Zeichenkette kann vom Compiler sonstwo gespeichert werden, auch in einem nicht beschreibbaren Segment.
So etwas ist aber legal: char test[] = "Hallo";
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
15.09.2004, 15:46 Uhr
~beenie
Gast


gibt es eine methode die sofort alle character in einem string klein setzt?

leider brauche ich strings...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
15.09.2004, 15:52 Uhr
Pablo
Supertux
(Operator)


ANSI C kennt keine. Du kannst aber deine eigene machen


C++:
char* str_lower(char* need)
{
     char* r = need;
     while(*r) { *r=tolower(*r); r++; }
     return need;
}


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
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: