Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
CI-1201 Programación II - 2012b
Profesor Jeisson Hidalgo-Céspedes

Laboratorio 02

En este laboratorio usted creará en C++ un programa que elimine los espacios en blanco superfluos que se le envíen por parámetro.

  1. Escriba una función leftTrim() que reciba una cadena de caracteres de C y elimine los espacios en blanco que aparecen al inicio de la cadena, corriendo los demás si es necesario. Se incluyen entre los espacios en blanco los caracteres: cambios de línea, tabuladores o cualquiera que defina la macro isspace() de <ctype.h>.

  2. Escriba una función rightTrim() que reciba una cadena de caracteres de C y elimine los espacios en blanco que aparecen al final de la cadena.

  3. Escriba una función trim() que reciba una cadena de caracteres de C y elimine espacios en blanco tanto al inicio y final de la cadena. Reutilice código. Trate de hacer la función en línea por eficiencia de código.

  4. Escriba una función innerTrim() que reciba una cadena de caracteres de C y elimine los espacios en blanco redundantes que tenga dicha cadena internamente. Por ejemplo, 5 tabuladores seguidos deben reemplazarse por un espacio en blanco. Sea más flexible y permita al usuario de la función escoger cuál es este carácter de reemplazo a través de un segundo parámetro opcional.

  5. Escriba una función trimAll() que reciba una cadena de caracteres de C y elimine espacios en blanco redundantes en cualquier lugar de la cadena. Reutilice código y haga funciones en línea. Esta y todas las anteriores funciones trim deben retornar un puntero a la misma cadena de caracteres que recibieron por parámetro.

  6. Separe las funciones anteriores en dos archivos, trim.h y trim.c. En el primero sólo escriba los prototipos de las funciones y en el segundo escriba sus implementaciones.

  7. Haga un programa que emplee la biblioteca trim.h que usted ha creado. Por cada parámetro con que se invocó al programa, imprima dicho parámetro en la salida estándar sin espacios en blanco redundantes. Para poder incluir espacios en blanco al invocar su programa, debe separar cada parámetro con comillas. Por ejemplo:

$ ./trim "  este     es el		primer parametro" "       " "a	-	bc	"
1: "este es el primer parametro"
2: ""
3: "a - bc"
$
Ejemplo de ejecución del programa