bitman escribió:guardas en un buffer el cadena.length y lees los 5 siguientes? no sería lo suyo una vez encontrado el patrón (que yo pienso que se debería definir como cadena[0], el primer carácter) comparar caracter a caracter y sino seguir desde el cadena[0]??
Tu solución no es buena porque puede que la cadena que busco no esté en posiciones múltiplos de 5, por ejemplo en:
aaCAD ENAaa
aaCAD no coincide con CADENA, ENAaa tampoco (pero CADENA está en medio).
Stylish escribió:Algoritmo perfecto para hacer esto:
Introduces la cadena a buscar -> Cuentas caracteres (pongamos 6)
Guardas en un buffer los primeros 6 caracteres del chorizo en el cual tienes que buscar la cadena. ¿Coincide? -> NO
Guardas en un buffer los caracteres 1-7 del chorizo. ¿Coincide? -> NO
Guardas en un buffer los caracteres 2-8 del chorizo. ¿Coincide? -> SI -> Terminaste
Espero que te sirva de ayuda.
Creo que la solución es esta que has dado

. Con una matización: hay que hacer los últimos pasos tantas veces como longitud tenga la cadena.
Introduces la cadena a buscar -> Cuentas caracteres (pongamos 6)
Guardas en un buffer los primeros 6 caracteres del chorizo en el cual tienes que buscar la cadena. ¿Coincide? -> NO
* Guardas en un buffer los caracteres 1-7 del chorizo. ¿Coincide? -> NO
Guardas en un buffer los caracteres 2-8 del chorizo. ¿Coincide? -> NO
Guardas en un buffer los caracteres 3-9 del chorizo. ¿Coincide? -> NO
Guardas en un buffer los caracteres 4-10 del chorizo. ¿Coincide? -> NO
Guardas en un buffer los caracteres 5-11 del chorizo. ¿Coincide? -> NO
Volver a * tomando los 6 siguientes caracteres.
Gracias por vuestras respuestas

.
Como curiosidad, quiero esto para saber qué texturas contenidas en una carpeta (cuyo nombre conozco) están dentro de un archivo BSP (mapas del Half Life 2). Quizá me empape un poco la especificación y me haga una idea de por donde pueda andar las cadenas de las texturas para simplificar el asunto.
Saludos.