All pastes #192425 Raw Edit

Anonyme

public text v1 · immutable
·published 2006-10-05 22:43 UTC
rendered paste body
/****************************************************************************
* Ficher Filtab.c. Contient un petit programme qui remplace les tabulations *
* lues sur StdIn par un nombre entier de spaces sur StdOut.                 *
****************************************************************************/
#define Tabul      0x09
#define RetChar    0x0D
#define LineFide   0x0A
#define InPut      0
#define OutPut     1

char Blanc=0x20;
char cc;
int Positligne=0;
int TailTab=0;

main(int NbParam,char **Param)
{  if (NbParam <2 || !(TailTab=atoi (Param[1])))
   {   usage(Param[0]); return;}
   while (read(InPut,&cc,1)>0)
   {  switch (cc)
      {      case Tabul:  do write(OutPut,&Blanc,1);
                          while (++Positligne % TailTab);
                          break;
             case LineFide:
             case RetChar:Positligne=-1;
             default:     Positligne++;
                          write(OutPut,&cc,1);
}  }  }
usage(char *KiSuiJe)
{   printf("\n%s",KiSuiJe);
    printf("\nSyntaxe:    FilTab N (N:taille désirée pour la Tabulation.)");
    printf("\nFonction:   Remplace les Tabulations par le nb.de space    ");
    printf("\n            necessaires.(de StdIn vers StdOut).            ");
    printf("\n Options:   Pas d'option.                                  ");
    printf("\n");
}