#include "../h/licasc.h"

/*
 =======================================================================

     creasc =  creation d'un fichier ascii avec une entete utilisateur

     parametres =
        e       zfiasc  = nom du fichier ascii,
        e       nser    = nombre maximal de series,
        e       nech    = nombre d'echantillons dans une serie,
        e       zcomt   = commentaires sur les donnees de l'entete,
        e       zentt   = donnees alphabetiques de l'entete,
        e       rentt   = donnees numeriques de l'entete,
        e       lent    = longueur de l'entete,

     retourne =
            kerr        = indicateur d'erreur :
                           -1 = impossible de creer le fichier,
                            0 = absence d'erreur.

     generiques =
         err    = erreur
      P...      = pointeur
      S...      = structure
       ...t     = tableau

     auteur = marimai.henaff    iut.orsay
     version 1.6 du 6/18/92

 =======================================================================
*/

int creasc ( zfiasc, nser, nech, zcomt, zentt, rentt, Plent)
char    *zfiasc, **zcomt, *zentt[];
float   *rentt;
int     *Plent, *nser, *nech;
{

/* ... variables globales ... */

extern  char    *Pzcomentt[NCOMM];

        /* ... variables locales ... */

        FILE    *fdfic;

        int     kerr ;
        int     icom, ient, i ;
        char    zlig[LLIGM] ;

        /* ... initialisations ...................................... */

        kerr = 0 ;
        icom = 0 ;

        /* ... debut du traitement .................................. */

        /* ... creation du fichier ... */

        fdfic = fopen ( zfiasc, "a") ;
        if ( fdfic == NULL) {
                kerr = -1 ;
        }
        else {

           /* ... ecriture des commentaires sur l'entete ... */


           icom = NCOMM;
           for( icom = 0; icom < NCOMM; icom++) {
              fputs ( Pzcomentt[icom], fdfic) ;
              fputc ( '\n', fdfic) ;
           }


           /* ... ecriture du contenu de l'entete ... */

           fputs ( ZCLEENT, fdfic);
           fputc ( '\n', fdfic) ;

           i = 0 ;
           for( ient = 0; ient < *Plent; ient++) {
              fputs ( zcomt[ient], fdfic) ;
              if ( strncmp ( zentt[ient], "", 1) !=0) {
                 fputc ( '\t', fdfic) ;
                 fputs ( zentt[ient], fdfic) ;
              }
              else {
                 sprintf ( zlig, "\t%f", rentt[i]) ;
                 i++ ;
              }
              fputs ( zlig, fdfic) ;
              fputc ( '\n', fdfic) ;
           }


           /* ... fermeture du fichier ... */

           fclose ( fdfic);

        }

        /* ... fin du traitement .................................... */

        return ( kerr) ;

}
