![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
19/04/2005, 04:11
|
![Avatar de Eternal Idol](http://static.forosdelweb.com/customavatars/avatar65038_2.gif) | | | 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 |