1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| #include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define Taille_max 1000 // Tableau de taille 1000
/* Elimine le caractere de fin de ligne saisi par fgets() et fait le menage dans
le tampon du flux entrant en cas de saisie tronquee */
static int
fclean(char *buffer, FILE *fp)
{
int err = 0;
if (buffer != NULL && fp != NULL)
{
char *pc = strchr(buffer, '\n');
if (pc != NULL)
{
*pc = 0;
}
else
{
int c;
while ((c = fgetc(fp)) != '\n' && c != EOF)
{
}
err = 1;
}
}
return err;
}
int main(int argc, char *argv[])
{
int i;
int T = 100;
FILE* fichier = NULL;
FILE* seq=NULL;
float *O; /* the observation sequence O[1..T]*/
float *q; /* the state sequence q[1..T] */
int vec;
char chaine[Taille_max] = "" ;
fichier = fopen("hmm.txt", "r");
// seq = fopen("seq.txt", "w"); inutile d'ouvrir et de fermer si fichier est NULL
if (fichier != NULL)
{
seq = fopen("seq.txt", "w");
if(seq != NULL) //tester aussi l'ouverture du second fichier
{
// fgets(chaine ,Taille_max, seq); seq est en écriture ! utiliser fichier
// tester le retour de fgets pour savoir lorsqu'on est arrivé à la fin du fichier
while(fgets(chaine ,Taille_max, fichier) != NULL)
{
fputs (chaine, seq); fputs ( "\ n", seq); rewind (seq); printf ( "Contenu du fichier: \ n \ n");
/* while (fgets (phrase, 10, Fichier)! = NULL) (printf ( "% s", phrase);) */
// recopier chaine dans seq (voir fputs)
O = (float*)malloc(vec*sizeof(float)); // O = ivector(1,T); /* alloc space for observation sequence O */
q = (float*)malloc(vec*sizeof(float));//ivector(1,T); /* alloc space for state sequence q */
}
fclose(seq) ; //fermer le fichier seq
}
fclose(fichier);
}
return 0;
} |
Partager