elrincondelc.com
Inicio :: Foros
Usuario: Clave: Regístrate
Salir


Como utilizo strcmp con una estructura puntero?

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
LECHIP



Registrado: 11 Nov 2006
Mensajes: 9

MensajePublicado: 11/11/2006 4:43 pm Responder citando
Título: Como utilizo strcmp con una estructura puntero?

Buenas muchachos, tengo una pregunta: Como utilizo la función strcmp para comparar una cadena de caracteres simple con una cadena de caracteres contenida en una estructura apuntadora?

PLZ ayuda!!! 8O
Volver arriba
Ver perfil del usuario Enviar mensaje privado
LECHIP



Registrado: 11 Nov 2006
Mensajes: 9

MensajePublicado: 11/11/2006 4:49 pm Responder citando
Título:

Me sale el error:
"request foer member 'id' in something not a structure or union".
Estoy utilizando una estructura apuntadora que tiene un char id[5], la verdad no entiendo a que se refiere el error.
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Karman



Registrado: 15 Oct 2005
Mensajes: 538

MensajePublicado: 11/11/2006 6:44 pm Responder citando
Título:

no encuentra tu variable "Id" en tu tu estructura... pasá el código para ver porqué no lo hace...
_________________
www.inexinferis.com.ar

-. Karman .-
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor
rir3760



Registrado: 01 Oct 2004
Mensajes: 7537
Ubicación: Mexico

MensajePublicado: 11/11/2006 9:46 pm Responder citando
Título: Re: Como utilizo strcmp con una estructura puntero?

Si con "estructura apuntadora" te refieres a un puntero bastaria con:
Código:
strcmp(p, q->id);

Con p de tipo "char *" y q de tipo "struct X *".

Pero seria mejor (como ya te indicaron) que dieras mas detalles.

Un saludo
_________________
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
LECHIP



Registrado: 11 Nov 2006
Mensajes: 9

MensajePublicado: 12/11/2006 6:55 am Responder citando
Título:

Bien, les paso la aprte que corresponde al modulo como tal por que el codigo total es bastante largo xD:
Código:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct fecha{           //Define la estructura para fechas.
       char dd[3];      //Dia.
       char mm[3];      //Mes.
       char aaaa[5];    //Año.
       };

struct jugador {          //Define la estructura para un jugador.
      char id[5];         //Identificación del jugador.
      char nom[15];       //Nombre del jugador.
      char ape[15];       //Apellido del jugador.
      char nick[10];      //Alias del jugador.
      char sexo[2];          //Sexo del jugador.
      struct fecha f_na;  //Fecha de nacimiento del jugador.
      int juegos; //Numero de juegos del jugador    
       };


void abrir_jugador(struct jugador* jug_act,struct jugador juga[5]){
     char val[5]="aaaa"; //ACA ESTA EL LIO.
}
Volver arriba
Ver perfil del usuario Enviar mensaje privado
rir3760



Registrado: 01 Oct 2004
Mensajes: 7537
Ubicación: Mexico

MensajePublicado: 12/11/2006 8:07 am Responder citando
Título:

Ese fragmento de codigo esta bien. El error esta en alguna otra parte donde al parecer utilizas incorrectamente un puntero.

Un saludo
_________________
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
LECHIP



Registrado: 11 Nov 2006
Mensajes: 9

MensajePublicado: 12/11/2006 9:44 am Responder citando
Título:

Ay que zoquete, pues claro falta lo importante:

if(strcmpr(val,juga.id)=0)printf("Crea un jugador.");
Volver arriba
Ver perfil del usuario Enviar mensaje privado
rir3760



Registrado: 01 Oct 2004
Mensajes: 7537
Ubicación: Mexico

MensajePublicado: 12/11/2006 10:00 am Responder citando
Título:

Debido a que "juga" es un puntero tienes que utilizar el operador "->" en esta forma (tambien estaba mal utilizar el operador "="):
Código:
if (strcmp(val, juga->id) == 0)
   printf("Crea un jugador.");


Un saludo
_________________
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
LECHIP



Registrado: 11 Nov 2006
Mensajes: 9

MensajePublicado: 12/11/2006 11:12 am Responder citando
Título:

Hombre pero calaro como pude ahcer semejante tontada, MIL GRACIAS rir.
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1 Todas las horas están en GMT - 8 Horas

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com, 1999-2007

Un proyecto de UrlanHeat.com