Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1497 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Programme en C qui affiche n lignes demandés

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programme en C qui affiche n lignes demandés

n°678376
_Faust_
Burn-out général
Posté le 19-03-2004 à 19:18:09  profilanswer
 

Je dois écrire un programme qui prend comme paramètres les noms des fichiers et un entier positif n et afficher les n (ou dix si n n?est pas donné) dernières lignes de chaque fichier spécifié.
 
Bon, le programme ouvre les fichiers, lit ligne par ligne et affiche le nom du fichier suivi de ses dernières lignes et fermer les fichier.
 
Je suis comme vraiment perdu..
 
 

Code :
  1. int main (int argc, char *argv[])
  2. {
  3.   FILE *fich *n_lignes ;
  4.    int n  = 10;
  5.   if ((fich = fopen (argv[1], "r" )) == NULL) {
  6.     printf ("Fichier impossible à ouvrir\n" ) ;
  7.     exit (1) ;
  8.   }
  9. if ((argv == 0)
  10. printf (fich, n)
  11. Sinon
  12. while
  13. printf (fich, n_lignes)
  14. fclose (fich)

mood
Publicité
Posté le 19-03-2004 à 19:18:09  profilanswer
 

n°678377
Taz
bisounours-codeur
Posté le 19-03-2004 à 19:21:25  profilanswer
 

utilise fgets (ou getline quitte à l'écrire toi même)
 
faut faire un FIFO borné.
 
chaque fois que tu lis une ligne, tu la rajoute à la fin, et tu effaces la plus vieille de telle sorte que tu mémorise uniquement les dix dernireès lignes parcourues. arrivés en fin de fichier, tu affiches les lignes stockées

n°678378
_Faust_
Burn-out général
Posté le 19-03-2004 à 19:23:02  profilanswer
 

ouf...

n°678578
_Faust_
Burn-out général
Posté le 20-03-2004 à 03:04:46  profilanswer
 

Bon, je réussis à lire le fichier....reste à trouver comment passer le paramètres d'afficher n lignes
 

Code :
  1. #include <stdio.h>
  2. main (int argc, char *argv[])
  3. {
  4. int i, c;
  5. for (i=1; i<argc; i++)
  6. {
  7. FILE *f;
  8. f = fopen (argv[i], "r" );
  9. while ((c = fgetc (f))!=EOF)
  10. fputc (c, stdout);
  11. fclose (f);
  12. }
  13. fflush (stdout);
  14. exit (0);
  15. }

n°678579
_Faust_
Burn-out général
Posté le 20-03-2004 à 03:39:52  profilanswer
 

Bon, voilà qu'il me sort une erreur de segmentation
 

Code :
  1. #include <stdio.h>
  2. main (int argc, char *argv[])
  3. {
  4. int i;
  5. int c  = 10;
  6. for (i=1; i<argc; i++)
  7. {
  8. FILE *f;
  9. f = fopen (argv[i], "r" );
  10. while ((c = fgetc (f))!=EOF)
  11.   if (argc)
  12.     {
  13.         int   a;
  14.          a = atoi(*argv);
  15.       if (a < 0)
  16.         {
  17.           c = -a;
  18.           argc--;
  19.           argv++;
  20.         }
  21. else((c == '\n') && !(--c)
  22.     }
  23. fputc (c, stdout);
  24. fclose (f);
  25. }
  26. fflush (stdout);
  27. exit (0);
  28. }


Message édité par _Faust_ le 20-03-2004 à 03:51:02
n°678633
Vinx
Posté le 20-03-2004 à 11:38:46  profilanswer
 

C'est quoi cette ligne ?
else((c == '\n') && !(--c)
 
Il manque pas quelque chose là ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Programme en C qui affiche n lignes demandés

 

Sujets relatifs
[inno setup]desinstaller l'icone du programme ?Intégrer des ressources à un programme .NET
ASM programme sapin[ASM]Comment afficher la durée d'éxécution d'un programme en asm?
[Eclipse] Plusieurs lignes de tabs dans l'IDE ?Comment modifier un fichier texte a partir d'un programme
Traduction d'un programme en assembleurAppel d'un programme
lancer programme au démarrag de windows!Création de programme qui gere l'USB
Plus de sujets relatifs à : Programme en C qui affiche n lignes demandés


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR