¡Esta es una revisión vieja del documento!
- Realizar un programa que reciba como argumentos del main una palabra y al comenzar solicite al usuario el ingreso de una frase. El programa debe reemplazar todas las veces que aparece la palabra ingresada y reemplazar cada letra por un asterisco *.
Ejemplo: llamo al programa de la siguiente manera:
./prog dia
y al ingresar la frase ingresamos lo siguiente:
"el dia esta muy oscuro. Cada dia llueve mas."
El programa finalmente debería imprimir:
"el *** esta muy oscuro. Cada *** llueve mas."
- Realizar una función que reciba strings, llamadas frase y palabra. Además debe recibir dos enteros, pos y L. La función debe insertar el string palabra en el string frase, en la posición indicada por el parámetro pos, reemplazando el caracter de la posición pos por toda la cadena, y corriendo el resto de la frase hacia la derecha. Debe escribir el string frase, y devolver el largo final de éste. Por ejemplo, si la frase que recibe la función es la siguiente:
"no hay opciones"
y la palabra que recibe es “ malas ”, con la posición 6, el string frase me quedaría así al salir de la función:
"no hay malas opciones" y devuelve el entero 21.
El prototipo de la función es el siguiente:
int InsertarPalabra(char*frase, char*palabra, int pos, int L);
La función además debe chequear los siguientes errores:
> El entero **L** es el largo máximo del string **frase**. Si la frase modificada fuera a superar este largo, la función no hace nada y devuelve -1. > Si la posición a insertar el texto es mayor al largo del string **frase**, la función no hace nada y devuelve -2.
Realizar un programa que permita probar esta función y sus casos de error.
- Hacer un programa que pida al usuario que ingrese un texto, y reemplace cada vez que aparezca el signo '?' por el nombre de usuario, extraído de envp. Modificar luego para que el símbolo a reemplazar sea ingresado por el usuario como argumento del main.