Bonjour,

voici le code qui lit d'un fichier et ecrire dans un autre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}