Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/01/2008, à 15:04

Nicorider

[Résolu]Code source de la commande cat

Bonjour smile;


Je cherche le code source de la commande cat (pour concaténer : réaliser une suite).


J'ai essayer de la réaliser moi même mais je ne suis pas un super programmeur.

Je sais qu'il faut commencer par :

#include <stdio.h>
int main (int argc, char * argv[])
{



return (0);
}

Dernière modification par Nicorider (Le 21/01/2008, à 15:57)


Distribution : Ubuntu Hardy Heron 8.04
GNU/linux with 1391402 :).

Hors ligne

#2 Le 21/01/2008, à 15:11

iuchiban

Re : [Résolu]Code source de la commande cat

http://www.gnu.org/order/ftp.html

Essaye de voir par là bas.

Sinon, très bon départ.

En gros tu fais :
- pour tous les fichiers passés en paramètre
  - ouvrir le fichier
  - afficher le fichier ligne par ligne
  - fermer le fichier
Va voir sur le site du zéro pour la programmation.


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#3 Le 21/01/2008, à 15:18

Nicorider

Re : [Résolu]Code source de la commande cat

Dans un livre (K&R) je suis tombé sur ça :

#include <stdio.h>

/* cat : concatène des fichiers, version 1 */
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);
}

J'ai tout taper dans un fichier que j'ai appelé cat.txt puis j'ai taper la commande :

gcc -o cat.c cat2

il ne me mets pas d'erreur

lorsque je tape cat2 cat.c /* pour afficher le contenu du fichier cat.c */

il me mets comme message :

~/Desktop$ cat2 cat.c
bash: cat2 : commande introuvable

Dernière modification par Nicorider (Le 21/01/2008, à 16:04)


Distribution : Ubuntu Hardy Heron 8.04
GNU/linux with 1391402 :).

Hors ligne

#4 Le 21/01/2008, à 15:42

Karl_le_rouge

Re : [Résolu]Code source de la commande cat

J'ai tout taper dans un fichier que j'ai appelé cat.txt puis j'ai taper la commande :

=> cat.c

gcc -o cat.c cat2

ZOMG
=> $ gcc cat.c -o cat2

~/Desktop$ cat2 cat.c
bash: cat2 : commande introuvable

=> $ ./cat2 cat.c

Normalement, ça devrait aller mieux. Tu me reliras 5 fois le K&R et 10 fois "The Practice Of Programming"

Hors ligne

#5 Le 21/01/2008, à 15:56

Nicorider

Re : [Résolu]Code source de la commande cat

Merci (il faut m'excuser, je me suis coucher tard hier soir).


Distribution : Ubuntu Hardy Heron 8.04
GNU/linux with 1391402 :).

Hors ligne