Tarea 1 CC31A


Plazo: 2 semanas
Entrega: lunes 29 de agosto, 24:00

Descripción

Hacer una función en C para separar argumentos de un comando. Recibe un string de comandos y debe separarlo en varias componentes (tokens) en un arreglo de strings (que es el resultado).

La función es:

/*
 * recibe en s la linea a separar
 * seps es un string con caracteres que son separadores (blancos, tabs, etc)
 * sops es un string con caracteres que son operadores en si
 * ops es un arreglo de strings, donde cada string es un operador y token
 * tok_ops es un arreglo de int donde tok_ops[i] es TRUE si el tok i es operador
 *    tok_ops debe ser de maxtoks enteros
 * toks es un arreglo de strings donde se deja el resultado, debe ya tener
 * espacio para maxtoks strings de tamano maximo maxstr cada uno
 * retorna el numero de tokens detectado
 */ 
int strtokens(char *s, char *seps, char *sops, char **ops, int *tok_ops, char **toks, int maxtoks, int maxstr) {

Si hay más tokens que el máximo o son más largos que el máximo deben truncarse y retonarse hasta el máximo, sin generar errores.

Ejemplo de Uso

Se les provee el programa testtok.c que llama a la función con varios argumentos. Requieren el archivo de declaración de la interfaz con strtokens en strtokens.h. La salida exacta que debieran obtener está en el archivo out.txt para que la comparen.

Para compilar deben compilar por separado testtok.c y la funcion de ustedes. Teniendo los archivos .o los juntan para hacer un ejecutable.

Condiciones de Entrega

La tarea debe entregarse antes del plazo final y debe compilar sin errores y ejecutar, o no será evaluada. Si tienen una tarea que funciona en parte, pero no completa, entréguenla a tiempo y obtendrán algo de nota.