Je sais mais je cherchais une fonction en C++ qui marche comme avec stricmp de C
N'ayant pas eu de réponse j'ai fait cette fonction
bool Comp_Strings(string &String1, string &String2) { if (String1.size() != String2.size()) return 0; /*Si les deux chaînes ont pas la même longueur on sort tous de suite*/
char chaine1[String1.size()+1], /*Il faut penser a mettre un caractère en plus pour celui de fin*/ chaine2[String2.size()+1];
for (int i=0; i < String1.size(); i++) /*On met la premiere string dans la chaine de caractère*/ { chaine1[i]=String1[i]; } chaine1[String1.size()]='\0';
for (int i=0; i < String2.size(); i++) /*On met la premiere string dans la chaine de caractère*/ { chaine2[i]=String2[i]; } chaine2[String2.size()]='\0';
if (stricmp(chaine1,chaine2)==0) return 1; else return 0; }
|
-------------------------------
Réponse au message :
-------------------------------
> Avec le string du C++, plein d'opérateurs sont définis, comme + (pour concaténer), =, et surtout < et > (il doit y en avoir d'autres).
> Donc tout ce que tu as à faire c'est, par exemple :
>
> string str1 = "Hello 1";
> string str2 = "Hello 2";
> if (str1 > str2)
> {
> cout << str1 + ">" + str2 << endl;
> }
> else
> {
> cout << str1 + "<" + str2 << endl;
> }
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Mais le strcmp ne marche pas avec les objets de type string
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > Non mais le strcmp il marche en cpp
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Comment faire en C++ quand on a deux variables de classes strings pour les comparer sans tenir compte des majuscules ?
> > > >
> > > > En C avec les chaines de caractère il y a stricmp.
> > > > Qu'a-t-il en C++ avec les strings ?
> > >
> >
>