[C con Clase] ERROR CUANDO BUSCO POR UN REGISTRO

Salvador Pozo salvador en conclase.net
Mie Abr 4 16:30:51 CEST 2012


El pasado 2012-04-04 14:15:36, Miguel escribió:
 
M> Hola estoy buscando un campo por un registro que es I01 y lo he pasado a cadena  y me sacan tambien los campos I011 e I010
M> Aqui esta el codigo. que estoy haciendo mal?

Hola:

El problema está en la comparación:

  if(strncmp(habit.id_habitacion, buscarID, strlen(buscarID))==0)

Si buscarID es "I01", sólo estás comparando los tres primeros caracteres de habit.id_habitación con la cadena buscada, de modo que todas las habitaciones que empiecen con "I01" se ajustan al patrón de búsqueda, por eso da como buenas "I011" e "I010", y si existiesen "I012" o "I01loquesea", también saldrían.

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net


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