Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Comparar CHAR con STRING

Estas en el tema de Comparar CHAR con STRING en el foro de C/C++ en Foros del Web. Hola! Tengo un string: const std::string& dir = reader.findAttributeValue("dir"); Que puede ser "RIGHT" o "LEFT" y quiero preguntar por su valor. He pensado en comparar ...
  #1 (permalink)  
Antiguo 13/06/2012, 03:31
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 8 meses
Puntos: 0
Comparar CHAR con STRING

Hola! Tengo un string:
const std::string& dir = reader.findAttributeValue("dir");

Que puede ser "RIGHT" o "LEFT" y quiero preguntar por su valor. He pensado en comparar los string usando strcmp, pero he leido que compara char.

const std::string& dir = reader.findAttributeValue("dir");
char right[] = "RIGHT";

if (strcmp (right, dirr) == 0)
No me funciona esta comparacion de string porque uno es char y otro string.

Help!
  #2 (permalink)  
Antiguo 13/06/2012, 07:18
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 3 meses
Puntos: 25
Respuesta: Comparar CHAR con STRING

podes usar la funcion c_str() de la clase string, que se encarga de devolverte el equivalente en const char* del string dado.

funcion c_str()

Código C++:
Ver original
  1. const std::string& dir = reader.findAttributeValue("dir");
  2.  char right[] = "RIGHT";
  3.  
  4.  if (strcmp (right, dir.c_str()) == 0) cout<<"iguales";
  5.       else cout<<"distintos";
  #3 (permalink)  
Antiguo 13/06/2012, 08:47
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 13 años, 11 meses
Puntos: 228
Respuesta: Comparar CHAR con STRING

El metodo compare de la clase string te puede servir:

if (dir.compare("LEFT") != 0)

http://www.cplusplus.com/reference/s...tring/compare/

Última edición por sam90; 13/06/2012 a las 08:52 Razón: Respuesta incorrecta
  #4 (permalink)  
Antiguo 13/06/2012, 15:27
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 1 mes
Puntos: 22
Respuesta: Comparar CHAR con STRING

Código C++:
Ver original
  1. if(dir == "LEFT"){
  2. //code...
  3. }

Etiquetas: char, funcion, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:36.