落書きノート

ふと自分が気になった事を書いてます

C/C++ UNIX 標準入力を標準出力へコピー

とりあえずこんな感じです。

#include "apue.h"

#define BUFFSIZE 4096

int main(void){
  int n;
  char buf[BUFFSIZE];

  while((n = read(STDIN_FILENO, buf, BUFFSIZE)) > 0)
    if(write(STDOUT_FILENO, buf, n) != n)
      err_sys("write error");

  if(n < 0)
    err_sys("read error");

  exit(0);
}
> clang stdin_to_stdout.c -o stdin_to_stdout -I apue.3e/include -L apue.3e/lib -lapue

実行結果

> ./stdin_to_stdout.c < test.txt
abcd

これからは、本を読んだ後の成果をちょくちょく書いていきたいと思います。