• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

AYUDA Función de C/C++ que haga...

Smirror

Nuevo
Registrado
22 May 2017
Mensajes
2
Puntos
0
Buenas, simplemente preguntaba si conocen la función que realiza lo siguiente: a partir de una variable que se lee, identifique si X la contiene esta, por ejemplo, que se lea "hola" en cualquier frase introducida. Gracias.
 
No entiendo muy bien lo que quieres. Si quieres saber si cierta cadena introducida, tiene una subcadena, se usa la función "strstr" que devuelve el puntero a la subcadena encontrada, puntero nulo si no la encuentra.

Si es con enteros, con una simple operación de módulo te sirve.
 
Perdona por mi explicación, me refiero que por ejemplo, leo "Hola que tal", quisiera una función que revisase si "Hola" se encuentra en esa frase. Quiero hacer algo a lo, si está "hola" en una frase, pueda responder con "hola soy Paco", por ejemplo.
 
Perdona por mi explicación, me refiero que por ejemplo, leo "Hola que tal", quisiera una función que revisase si "Hola" se encuentra en esa frase. Quiero hacer algo a lo, si está "hola" en una frase, pueda responder con "hola soy Paco", por ejemplo.
creo que con la función switch puedes hacer lo que deseas.
 
Con C ansi puro:

if (strstr(texto,"hola") != NULL) puts("Hola macarena");
 
Tal y como dice electro7 con la función strstr funciona perfectamente.

De hecho esta hecho en el código que ha puesto en su ultimo post jajaja
 
También puedes ir con un bucle for recorriendo la cadena y creando Strings de longitud igual a la palabra que quieres encontrar (empezando a partir de blancos ' '), cuando crees el string lo comparas con el pasado como referencia, si es correcto devuelves true, si no continuas. Aunque si no quieres calentarte la cabeza utiliza la función que te han dicho arriba.
 
Arriba