Ver Mensaje Individual
  #28 (permalink)  
Antiguo 19/04/2005, 04:11
Avatar de Eternal Idol
Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 9 meses
Puntos: 74
Cita:
Iniciado por DarkJ
MaxExtreme, si dices que strstr() busca "subcadenas dentro de cadenas", entonces no sirve, ya que lo que quiere es contar "palabras dentro de frases". La subcadena "loco" esta en la cadena "Yo coloco eso", pero la palabra "loco" no esta en la frase "Yo coloco eso". A tu solucion habria que añadir la comprobacion de que los caracteres anterior y posterior a lo detectado por strstr() son caracteres que no se pueden encontrar en una palabra: espacios y caracteres especiales. O simplificando caracteres no alfanumericos.

Por eso es bueno realizar prepara los casos de prueba antes de escribir el codigo, mientras algun test falle el codigo no es correcto.
Eso ya habia sido tenido en cuenta:

Cita:
Iniciado por Eternal Idol
ststr() te devuelve un puntero asi que lo podes hacer perfectamente comparando los caracteres anterior y posterior. Si es un \r, \n o espacio lo tomas como valido y sino no. Tambien tenes que comprobar el comienzo y final del buffer que contiene el texto para no pasarte de los limites en la comprobacion.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO