problème avec lecture de fichiers
Code:
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
| #include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int lire_clavier(char *str, int taille)
{
int i;
fgets(str, taille, stdin);
str[taille-1] = '\0';
for(i=0; str[i]; i++) /*supprime le retour chariot */
{
if(str[i] == '\n')
{
str[i] = '\0';
break;
}
}
return(i); /* Renvoir 0 si la chaine est vide*/
}
int main()
{
FILE *fp;
char filename[100];
printf("Nom du fichier a lire : ");
lire_clavier( filename, sizeof(filename) );
if((fp = fopen(filename, "r")) == NULL)
{
fprintf(stderr, "\nErreur lors de l'ouverture du fichier...\n");
exit(EXIT_FAILURE);
}
else
{
char infile[sizeof(fp)+1];
printf("\n\n");
fgets(infile, sizeof(fp), fp);
fprintf(stdout, "%s", infile);
printf("\n\n");
fclose(fp);
printf("\nPour quitter tappez sur une touche du clavier.\n");
getch();
exit(EXIT_SUCCESS);
}
return 0;
} |
Le programme s'execute mais seulement les 3 premiere lettre du .txt s'affiche
pouvez vous m'aider
merci.