Bonsoir, j'ai fait un petit programme qui compile bien, mais ne fais pas ce que je demande.
En effet il a pour but d’écrire dans un fichier et de l'afficher à l’écran. il écrit mais ne peut l'afficher à l’écran.
Alors je sollicite votre aide pour comprendre ce qui ne va pas dans mon programme. voici le code :
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
 
#include <stdio.h>
#include <stdlib.h>
#define T_MAX 500  T//Taille maximale de caracteres a lire
 
 void afficher(FILE *fichier);  // fonction charger lire le fichier 
 
int main(int argc, char **argv)
{    
	FILE *file1;
	//char chaine[T_MAX] ="Votre fichier est dans votre main.\n Gardez la peche...\0" ;
	int i;
 
 
	file1 = malloc(sizeof(int));
	if(file1 !=NULL){
 
     file1 =fopen("text", "r+") ;
 
        printf("Fichier en cours de creation...\n");
        fputs("Votre fichier est dans votre main.\n Gardez la peche...\0", file1) ;	 // contenu du fichier
	    printf(" LECTURE DU FICHIER \n"); 
        afficher(file1); // appel de la fonction pour afficher le contenu du fichier
		printf("//--------FIN FU FICHIER-------\\\\");
 
       fclose(file1); 	
     }
	return 0;
 
  } 
 
 
 /** fonction de traitement  flux **/
void afficher(FILE *fichier	){
	 int i ;	
	 char flux[T_MAX] ;
	 printf("\t\t -------Fonction Afficher-------\n");
 
    do{
		flux[i] =fgetc(fichier); //recuperation du flux dans un tableau de caractères
 
		}while(i!= EOF) ;	 
 
	do{
		//printf("%c",flux[i]) ;
		fputc(flux[i],fichier);  // afficher le contenu du fichier à l'ecran
 
		} while(i!=EOF) ;
		printf("FIN FONCTION\n");
 
 fclose(fichier) ;
    return;
 
}
Merci de votre attention.