00001 #define BUFFSIZE 128
00002 #include <stdio.h>
00003 #include <stdlib.h>
00004 #include <unistd.h>
00005 #include <string.h>
00009 int main(int argc, char *argv[]){
00010 short buffer[BUFFSIZE];
00011 short buffer1[BUFFSIZE/2];
00012 short buffer2[BUFFSIZE/2];
00013 int i = 0;
00014 int k = 0;
00015 memset(buffer,0,BUFFSIZE*sizeof(short));
00016 memset(buffer1,0,BUFFSIZE/2*sizeof(short));
00017 memset(buffer2,0,BUFFSIZE/2*sizeof(short));
00018 while (-1!=read(STDIN_FILENO,buffer,BUFFSIZE)) {
00019 for (i = 0; i < BUFFSIZE; i++,i++) {
00020 int k = i/2;
00021 buffer1[k] = buffer[i];
00022 buffer2[k] = buffer[i+1];
00023 }
00024 write(STDOUT_FILENO,buffer1,BUFFSIZE/2*sizeof(short));
00025 write(STDERR_FILENO,buffer2,BUFFSIZE/2*sizeof(short));
00026 }
00027 return 0;
00028 }
00029