/*--------------------------------------------------------------------
 * FICHERO:  CadTrozo.c
 * OBJETIVO: Definir la funcin Cad_Trozo()
 * AUTOR:    Pedro Reina
 * FECHA:    J.13.7.1995
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Ficheros de cabecera
 *------------------------------------------------------------------*/

#include "Cadena.h"

/*--------------------------------------------------------------------
 * Definicin de funciones
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Cad_Trozo()
 * OBJETIVO: Extraer una cadena de otra
 * ENTRADAS: Cadena origen y puntos de comienzo y fin del corte
 * SALIDAS:  La cadena destino
 * NOTAS:    1. El primer carcter lleva el nmero 1
 *           2. La cadena devuelta hay que destruirla cuando no
 *              sea necesaria
 * EJEMPLO:  Cad_Trozo (Nombre,3,7)
 * ALGORITMO: Decrementar Comienzo y Fin (para contar desde 0)
 *            Crear la cadena destino
 *            Copiar los caracteres entre comienzo y fin y aadir NULO
 *------------------------------------------------------------------*/
cadena Cad_Trozo (Origen, Comienzo, Fin)
cadena   Origen;
contador Comienzo, Fin;
  {
  contador i;
  cadena   Destino;

  Comienzo--; Fin--;
  Destino = Cad_Crea (Fin-Comienzo+1);

  for ( i=Comienzo ; i<=Fin ; i++ )
    { Destino[i-Comienzo] = Origen[i]; }

  Destino[i-Comienzo] = NULO;

  return (Destino);
  }