Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2010, 10:45
oskii
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
desespero comparacion cadenas

Hola, estoy haciendo un programa en c, donde tengo que leer desde fichero un dato y comprobar si ya existe en un vector de cadenas....he intentado todo, pero todo y mas, pero no me compara bien. Gracias de antemano por las molestias xD.

Leo desde fichero por ejemplo "add" o "addf" y quiero que me compruebe que ya existen en el vector *nemonicos[].

void SegundaPasada(FILE *Fich, const char *VecEti[]){

char *nemonicos[2] = { "addf", "add" };
char cadena[100];
char *nemonico, nemo[20];

while(fgets(cadena,100,Fich) != NULL){
nemonico = strtok(cadena, " "); //recojo el nemonico
strcpy(nemo, nemonico);
int posnemo;
posnemo = BuscarNemonico(nemo, nemonicos);
}
}


----FUNCION QUE COMPARA---

int BuscarNemonico(char *nemo, char *nemonicos[]){
int encontrado;
int i;

encontrado = 0;
printf("%s %s ", nemo, nemonicos[1]);
printf("%d\n",strcmp(nemo, nemonicos[1]));

return (encontrado);
}

comparo la palabra que le llega con el segundo valor del vector "add" y el strcmp me devuelve siempre -1 o 1, no detecta si la cadena es la misma.

Un dato, si a nemo le asigno directamente la cadena que quiero que compare como es nemo = "add"; y la paso a la función si me funciona bien. Tiene que ser algo de strtok que no le reserva memoria al valor, eso intuyo yo.