[C con Clase] Conversión inválida de char a char. Estructuras de datos. ¿Qué pasa?

Mauricio Rojas mrojasb2000 en gmail.com
Mar Oct 2 20:52:01 CEST 2007


Hola master,

Creo que el error esta en que estas comparando un array contra una dirección
de memoria, deberías utilizar las funciones que estan disponible en la
libreias de C/C++, por ejemplo:

int strcmp ( const char * str1, const char * str2 );


/* strcmp example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char szKey[] = "apple";
  char szInput[80];
  do {
     printf ("Guess my favourite fruit? ");
     gets (szInput);
  } while (strcmp (szKey,szInput) != 0);
  puts ("Correct answer!");
  return 0;


}

Espero que te sirva.

Mauricio


El día 2/10/07, Ismael Ramón <desko27 en gmail.com> escribió:
>
> Hola de nuevo, primero gracias por responder tan rápido a mi duda
> anterior. Esta vez hice una función (que se supone que compara el nombre
> introducido por el usuario con los de la estructura para hallar el número de
> teléfono asociado) para el primer ejercicio de estructuras del curso, y
> quisiera saber qué falla en ella que el compilador no ejecuta el programa e
> indica que estoy realizando una conversión inválida de `char*' a `char' en
> la línea del return.
>
> char BuscarPorNombre (char inNombre[64]) {
>      int i;
>      for (i=0; i<10; i++)
>           {
>           if (inNombre == BaseTelfs[i].nombre)
>              {break;}
>           }
>      return BaseTelfs[i].telf;
> }
>
>
> Les dejo también aquí la estructura:
>
> struct telfs {
>        char telf[9],nombre[64];
>        }BaseTelfs[10];
>
>
> ¿Qué puede estar pasando?
>
> Me parece que no acabo de entender la sistemática de las cadenas en C++,
> ¿Por qué no pueden compararse con el operador ==?
> ¿Qué debo hacer entonces para compararlas?
>
>
> Aiss, a veces cuando me estanco en este tipo de cosas llego a pensar que
> soy subnormal xD
>
> Saludos.
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
Mauricio Rojas B.
Analista Computacional
Técnico de Redes Y Sistemas
GNU/Linux
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071002/b5a87f1e/attachment.html>


Más información sobre la lista de distribución Cconclase