begin process at 2012 02 12 17:19:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichiers / Disque

 > LA COMMANDE CAT SANS LES OPTIONS

LA COMMANDE CAT SANS LES OPTIONS


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichiers / Disque Niveau :Initié Date de création :03/11/2003 Vu :6 003

Auteur : alimdi

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

la commande cat qui permet d'afficher un fichier sur la sortie standard avec gestion de la commande cat tout court et cat avec une infinitée de fichiers.


Source

  • /*
  • ** cat.c
  • **
  • ** Made by ali mdidech
  • **
  • **
  • ** Started on Fri Oct 24 17:54:34 2003 ali mdidech
  • ** Last update Mon Oct 27 17:13:51 2003 ali mdidech
  • */
  • #include <stdlib.h>
  • #include <unistd.h>
  • #include <fcntl.h>
  • void my_putchar(char c)
  • {
  • write(1, &c, 1);
  • }
  • void my_putstr(char *str)
  • {
  • for (; *str != 0; str++)
  • my_putchar(*str);
  • }
  • void cat(char *fn)
  • {
  • int nb;
  • int fd;
  • char *buffer;
  • fd = open(fn, O_RDONLY);
  • buffer = (char *) malloc(sizeof(char) * 512);
  • while ((nb = read(fd, buffer, 512)) > 0)
  • write(1, buffer, nb);
  • if (nb == (-1))
  • {
  • my_putstr("cat: ");
  • my_putstr(fn);
  • my_putstr(": Operation not permitted\n");
  • }
  • close(fd);
  • }
  • void cat_alone()
  • {
  • char buffer[512];
  • int nb;
  • while ((nb = read(0, buffer, 512)) > 0)
  • write (1, buffer, nb);
  • }
  • int main(int ac, char **argv)
  • {
  • if (ac < 2)
  • cat_alone();
  • else
  • {
  • ac--;
  • argv++;
  • while (ac-- > 0)
  • if (*argv[0] == '-')
  • cat_alone();
  • else
  • cat(*argv++);
  • }
  • return (0);
  • }
/*
** cat.c
**
** Made by ali mdidech
** 
**
** Started on  Fri Oct 24 17:54:34 2003 ali mdidech
** Last update Mon Oct 27 17:13:51 2003 ali mdidech
*/

#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>

void	my_putchar(char c)
{
  write(1, &c, 1);
}

void	my_putstr(char *str)
{
  for (; *str != 0; str++)
    my_putchar(*str);
}

void	cat(char *fn)
{
  int	nb;
  int	fd;
  char	*buffer;

  fd = open(fn, O_RDONLY);
  buffer = (char *) malloc(sizeof(char) * 512);
  while ((nb = read(fd, buffer, 512)) > 0)
    write(1, buffer, nb);
  if (nb == (-1))
    {
    my_putstr("cat: ");
    my_putstr(fn);
    my_putstr(": Operation not permitted\n");
    }
  close(fd);
}

void	cat_alone()
{
  char	buffer[512];
  int	nb;

  while ((nb = read(0, buffer, 512)) > 0)
    write (1, buffer, nb);
}

int	main(int ac, char **argv)
{
  if (ac < 2)
    cat_alone();
  else
    {
      ac--;
      argv++;
      while (ac-- > 0)
	if (*argv[0] == '-')
	  cat_alone();
	else
	  cat(*argv++);
    }
  return (0);
}

 Conclusion

ras


 Sources du même auteur

UN BEAU CARRE
UN SAPIN DE NOEL

 Sources de la même categorie

Source avec Zip Source avec une capture GENERE BMP par lajouad
Source avec Zip Source avec une capture GETIONNAIRE D'UNE BIBLIOTHÉQUE EN C par benzarabel
FONCTION D'ÉDITION DE FICHIER BIT À BIT [C-MULTIPLATEFORME] par lynxtyle
Source avec Zip Source avec une capture UN GESTIONNAIRE DU FICHIER par benzarabel
Source avec Zip COPIE DE FICHIERS PAR RESEAU LOCAL par cczerty

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales