A voir également:
- [C] lecture de fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Ouvrir fichier .bin - Guide
4 réponses
un erreur de ma part c'est 32 et non pas 3, mais ca ne resout trjs pas le prb
/* lecture de la deuxieme ligne */
fgets (ligne, 32, fp);
/* lecture de la deuxieme ligne */
fgets (ligne, 32, fp);
Misdrhaal
Messages postés
49
Date d'inscription
lundi 9 mai 2005
Statut
Membre
Dernière intervention
23 février 2006
16
9 janv. 2006 à 12:44
9 janv. 2006 à 12:44
Je mettrais plutot ca :
/* fichier1.c */ #include <stdio.h> #include<string.h> int main (int argc, char **argv) { /* ouverture du fichier en mode texte */ FILE *fp = fopen ("toto1.c", "r"); /* L'ouverture du fichier est-elle realisee ? */ if (fp == NULL) { } /* definition d'un tableau de char destine a recevoir la ligne * La taille est arbitraire. Elle doit etre cependant adaptee * aux besoins courants. * Pour les grandes tailles (disons > 256 char), * il est preferable d'utiliser une allocation dynamique. */ char ligne[32]; /* lecture de la premiere ligne */ while( fgets (ligne, 32, fp)); /* Affichage de la premiere ligne */ printf ("1: %s\n",ligne); /* lecture de la deuxieme ligne */ fgets (ligne, 3, fp); /* Affichage de la deuxieme ligne */ printf ("2: %s\n", ligne); /* Fermeture du fichier */ fclose (fp); } else { printf ("Erreur d'ouverture du fichier\n"); } return 0; }
Misdrhaal
Messages postés
49
Date d'inscription
lundi 9 mai 2005
Statut
Membre
Dernière intervention
23 février 2006
16
9 janv. 2006 à 12:57
9 janv. 2006 à 12:57
Je mettrais plutot ca : (le premier message est à supprimer, parti trop vite)
/* fichier1.c */ #include <stdio.h> #include<string.h> int main (int argc, char **argv) { FILE *fp = fopen ("toto1.c", "r"); // Test ouverture du fichier if (fp == NULL) { printf ("Erreur d'ouverture du fichier\n"); exit(1); } //Fichier ouvert char ligne[32]; int i = 1; while( fgets(ligne, sizeof(ligne), fp) != NULL ) { printf ("%d: %s\n",i,ligne); i++; } // Teste si fgets a rencontré une erreur if( !feof(fp) ) { printf("erreur rencontrée lors de la lecture"); exit(1); } //Teste Fermeture if(fclose(fp) != 0) { printf("Impossible de fermer le flux"); exit(1); } //Tout s'est bien passé return 0; }