• # man

    Posté par  . Évalué à 3.

    Regarde les pages manuel de fopen, fread et fclose.
    Le caractère de fin de ligne est '\n'.
    Voilà déjà un début.
    • [^] # Re: man

      Posté par  . Évalué à -2.

      Peut tu me faire un exemple?
      • [^] # Re: man

        Posté par  (site web personnel) . Évalué à 2.

        //Pour printf
        #include "stdio.h"
        
        //Fonction main
        int main(int argc, char **argv)
        {
            //Si plus d'un paramètre
            if (argc > 1)
            {
                //Ouvre le fichier passé en paramètre 1
                FILE *fd = fopen(argv[1], "r");
                //Caractère lu
                char c;
                //Lis chaque caractère du fichier
                while ((c = getc(fd)) != EOF)
                {
                    //Affiche le caractère
                    printf("%c", c);
                }
                //Clos le descripteur de fichier
                fclose(fd);
            }
            //Renvoie zero comme code de retour
            return 0;
        }
        
        One way code, sans erreur du premier coup ;)
        • [^] # Re: man

          Posté par  . Évalué à 1.

          One way code, sans erreur du premier coup ;)
          Bah si, il y en a ! #include "stdio.h" Normalement, c'est avec les < et >, mais il est vrai que ça marche aussi avec (à condition que tu n'aies pas placé un autre fichier stdio.h dans ton chemin d'inclusion). //Ouvre le fichier passé en paramètre 1 FILE *fd = fopen(argv[1], "r"); //Caractère lu char c; //Lis chaque caractère du fichier while ((c = getc(fd)) != EOF) Deux erreurs: tu ne vérifies pas le résultat de fopen (peut-être que le fichier n'a pas été ouvert ?), et tu utilises une variable de type char pour stocker le résultat de getc. http://c-faq.com/stdio/getcharc.html
          • [^] # Re: man

            Posté par  . Évalué à 1.

            En plus, j'oubliais le principal, tu ne répondais pas vraiment à sa question: Kriss demandait comment traiter ligne par ligne, et tu donnes un exemple caractère par caractère !
            fgets est la fonction ISO qui permet de faire ça, mais son usage n'est pas trivial: cf. https://linuxfr.org/comments/713347.html#713347 pour un de mes posts précédents à ce sujet.
  • # Awk

    Posté par  . Évalué à 2.

    Utilise Awk, langage permettant de traiter ligne après ligne un fichier texte.

    Super et superpuissant. Ca fait des années que je l'utilise pour ça.
    • [^] # Re:

      Posté par  . Évalué à -1.

      pouvez vous me donner un exemple?
    • [^] # Re: Awk

      Posté par  . Évalué à -1.

      Pouvez-vous me donner un exemple?
      • [^] # Re: Awk

        Posté par  . Évalué à 3.

        oui c'est tres facile, tu fait : man awk et tu lis il y a plein d'exemple.

        tu peut aussi cliquer sur :

        http://w3.uqo.ca/DOC/unx_awk.html
        • [^] # Re: Awk

          Posté par  . Évalué à 0.

          sa m'aide pas vraiment....
          • [^] # Re: Awk

            Posté par  . Évalué à 1.

            Oups, désolé pour le retard dans la réponse.

            Voici un petit exemple :

            fichier à traiter :
            Toto Dupont 360
            Jean Dujardin 750
            Machin Truc 260
            Titi Dupont 123

            Pour afficher la somme de toutes les 3eme colonnes en awk :
            awk 'BEGIN { lasomme=0 }
            { lasomme = lasomme + $3 }
            END { print lasomme}' fichierAtraiter

            Pour afficher la somme de toutes les 3eme colonnes de la famille Dupont :
            awk 'BEGIN { lasomme=0 }
            ( $2 == Dupont) { lasomme = lasomme + $3 }
            END { print lasomme}' fichierAtraiter

            Voilà !
  • # ?

    Posté par  . Évalué à 0.

    Pouvez-vous me faire un exemple?
  • # ?

    Posté par  . Évalué à 0.

    Pouvez-vous me faire un exemple ?
    • [^] # Re: ?

      Posté par  . Évalué à 4.

      *PAN*

      ayé, il recommencera plus :o


      Ca ira comme exemple ? Ah ? Ce qu'il a fait ? Je sais pas, on trouvera bien ....
  • # .

    Posté par  . Évalué à 3.

    google :

    voilà des pages contenant des exemples ( je te laisse chercher où se trouvent les exemples sur chaque page quand meme ... )

    http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/LangageC/TD200(...)

    http://mapage.noos.fr/emdel/notes.htm#fichiers
  • # déchiffrage de demande...

    Posté par  . Évalué à 0.

    Bonjour,

    Alors d'après ce que j'ai compris, tu voudrais lire un fichier ligne par ligne et appliquer des traitements pour chacune d'entre-elles.

    Il existe beaucoup d'outil et de langage permettant de faire ça, je peux déjà te donner quelques exemples sous Linux/Unix.

    Lire un fichier ligne à ligne en SHELL :

    cat TON_FICHIER | wile read LIGNE
    do

    [....] Tu insères tes commandes pour appliquer un traitement à la ligne courant, sachant que la ligne courante est stockée dans la variable $LIGNE [...]

    done > NOUVEAU_FICHIER

    Le fichier NOUVEAU_FICHIER contiendra donc les résultats des traitements que tu auras appliqué à condition d'avoir retourné le résultat sur la sortie standard.

    Lire un fichier ligne à ligne en PERL :

    open (FIC, "< FICHIER") or die("Impossible de lire le fichier");

    while ()
    {

    [...] Insérer des traitements [...]

    }
    close(FIC)

    Ici même chose, on lit le fichier ligne à ligne, on applique des traitements et on retourne le résultat sur la sortie standard ou alors on retourne le résultat dans un autre fichier que l'on lit en écriture....

    Bref, on fait pas de fumée sans feu, si tu ne comprends pas ce qu'on t'explique, je t'invite à soit être plus précis dans ta demande, soit de commencer par prendre des cours d'algo, d'info, je suis pas cher :-)

    @ bientôt

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.