multitest.c
00001 #include <stdio.h>
00002 #include <unistd.h>
00003
00004 int main()
00005 {
00006 char bloc[TAILLE_BLOC];
00007 #ifdef NOTMP
00008 setbuf(stdin, NULL);
00009 setbuf(stdout, NULL);
00010 #elif TMP_X
00011 #ifndef TAILLE_TMP
00012 #error "Il faut définir TAILLE_TMP"
00013 #endif
00014 char tamponin[TAILLE_TMP];
00015 char tamponout[TAILLE_TMP];
00016 setvbuf(stdin, tamponin, _IOFBF, TAILLE_TMP);
00017 setvbuf(stdout, tamponout, _IOFBF, TAILLE_TMP);
00018 #else
00019 #error "Il faut définir la politique de tampon pour stdin!"
00020 #endif
00021 #ifdef FREAD
00022 while(fread(bloc, TAILLE_BLOC, 1, stdin) == 1) {
00023 fwrite(bloc, TAILLE_BLOC, 1, stdout);
00024 }
00025 #else
00026 while(read(STDIN_FILENO, bloc, TAILLE_BLOC) > 0) {
00027 write(STDOUT_FILENO, bloc, TAILLE_BLOC);
00028 }
00029 #endif
00030 return 0;
00031 }