IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

réecrire la commande cat


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut réecrire la commande cat
    bonjour.

    voila j'ai un petit soucie je ne voix pas du tout comment je pourrais daire pour refaire la commande cat ou même tee en language.
    est ce que vous pouvez m'aider.
    bonne soirée a vous

  2. #2
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Hors gestion des options, l'idée c'est de boucler sur les arguments (argv) et, pour chacun des fichiers, de faire une boucle du style "while fgets(...) puts(...)"

    Si tu n'as pas d'argument, cat lit sur l'entrée standard : il faut alors faire des fgets en utilisant stdin.

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut
    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
    #include <stdio.h>
    #include <stdlib.h> 
     
    #include <stdio.h>
     
    /* cat : concatène des fichiers, version 1 */
    int main(int argc, char *argv[])
    {
        FILE *fp;
        void copierfich(FILE *, FILE *);
     
        if (argc == 1) /* pas d'args : copie l'entrée standard */
            copierfich(stdin, stdout);
        else
            while (--argc > 0)
                if ((fp = fopen(*++argv, "r")) == NULL)    {
                    printf("cat : impossible d'ouvrir %s\n", *argv);
                    return 1;
                }    else {
                        copierfich(fp, stdout);
                        fclose(fp);
                }
        return 0;
    }
     
    /* copierfich : copie le fichier fpe dans le fichier fps */
    void copierfich(FILE *fpe, FILE *fps)
    {
        int c;
     
        while ((c = getc(fpe)) != EOF)
            putc(c, fps);
    }

  4. #4
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Salut.



    Sinon, j'ai pas le temps de tester le code mais s'il marche tu peut le copier l'exécutable dans le répertoire home/TonNom/bin ou le répertoire /usr/bin (pour être accessible à tout utilisateur) pour le faire fonctionner comme une commande .

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 053
    Billets dans le blog
    141
    Par défaut
    Je voudrais dire que cat est légèrement plus pointu que ce que l'on pense.

    Les balises spécial de couleur ( qui marche avec 'echo' \e[30m; ( un truc du genre ) ) marche aussi avec cat.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Les balises spécial de couleur ( qui marche avec 'echo' \e[30m; ( un truc du genre ) ) marche aussi avec cat.
    C'est le terminal qui gère les codes d'échappement, normalement, pas les programmes qui lui envoient ces codes d'échappement...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Ne vous embêtez pas trop car je suis sur que waldner77 saura s'en débrouiller.
    Je ne sais pas si vous avez noté, mais après son "sos" (comment m'y prendre, je suis perduuuuu .... !) et mon début d'esquisse de projet de code de ..., en 4 minutes il a réussi à nous pondre un code d'une trentaine de lignes qui, globalement, tient la route

    était-ce un test ?

  8. #8
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut
    peut être, peut être pas.
    telle est la question? ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. commande cat ksh
    Par ouinih dans le forum Linux
    Réponses: 1
    Dernier message: 05/03/2008, 00h23
  2. problème avec la commande CAT
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 25/07/2007, 15h21
  3. Réecrire la commande dir
    Par judge06 dans le forum C
    Réponses: 8
    Dernier message: 05/05/2007, 02h22
  4. programme c qui émule la commande cat
    Par momoh dans le forum C
    Réponses: 6
    Dernier message: 07/12/2006, 11h15
  5. Problème de commande cat
    Par peppena dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 12/04/2006, 12h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo