Comparaison de chaînes de caractères
Je veux comparer deux chaînes de caractères, mais pas en mesure de le faire...
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
int _tmain(int argc, _TCHAR* argv0[])
{
string my_string;
string my_string2;
cout<<"Enter string"<<endl;
cin>>my_string;
cout<<"Enter 2nd string"<<endl;
cin>>my_string2;
cout<<my_string<<" "<<my_string2;
strcmp(my_string,my_string2);
int result;
result= strcmp(my_string,my_string2);
cout<<result<<endl;
return 0;
}
Cette erreur apparaît.
Erreur 1 error C2664: 'strcmp' : impossible de convertir le paramètre 1 de 'std::string' à 'const char *' c:\users\asad\documents\visual studio 2008\projects\string\string\string.cpp 23 de la Chaîne
- Arrêt à l'aide plz s'il vous plaît.
- Notez que _tmain n'est pas standard C++.
- peut-être qu'il est un aigle et est en train de taper avec ses serres. hyperboleandahalf.blogspot.com/2010/04/...
Vous devez vous connecter pour publier un commentaire.
Depuis que vous utilisez
std::string
,strcmp
est inutile -- vous pouvez simplement utiliser<
,==
,!=
, etc.Votre comprend:
Puisque vous êtes, y compris les en-têtes standard, ils doivent être dans <>
#include <string>
#include <iostream>
#include avec "" est généralement utilisé pour vos propres fichiers d'en-tête, pas de standard de fichiers d'en-tête.
Vous êtes à l'aide de C++, et donc n'a pas besoin d'utiliser strcmp. En C++, vous pouvez simplement utiliser == & != pour comparer deux chaînes de caractères.
if (my_string == my_string2) result = 0;
else result = 1;
Aussi, si vous voulez convertir une chaîne de caractères à un const char*, vous pouvez utiliser
mystring.c_str()
strcmp
fonction s'applique à un tableau de caractères terminée par un null (un.k.un. char *). Si vous avez vraiment besoin d'utiliserstrcmp
, puis de l'utiliser avec l'c_str()
méthode destd::string
.Si vous souhaitez utiliser strcmp remarque qu'il prend des paramètres différents de ceux que vous avez utilisés.
http://www.cppreference.com/wiki/c/string/strcmp
Une autre façon de le faire est aussi
string
a des méthodes pour cela:result = my_string.compare(my_string2)