サーバから受信した文字列を標準出力に書き出すには、
char buffer[128]; /* 配列の大きさは 128 でなくてもよい */ : for (;;) { int len = read(sock, buffer, 128); if (len < 1) break; else write(1, buffer, len); /* ファイル・ディスクリプタ 1 は標準出力 */ }
とすればよい。
read() は、第 1 引数で指定された stream からデータを読み込み、第 2 引数で指定された char 配列に保存する。 char 配列の大きさは第 3 引数で指定する。
read() の返り値は、実際に読みこんだ byte 数である。 stream の末尾に達し、第 3 引数で指定した量だけ読みこめなかった場合、第 3 引数より小さな値を返す。 そうでなければ、read() の返り値は第 3 引数に等しい。 もし read() の返り値が 1 より小さい場合、stream の末尾に到達したか、エラーが発生したことを示す。
write() は、第 1 引数で指定された stream に、第 2 引数で指定された char 配列のデータを書きこむ。 char 配列の大きさは第 3 引数で指定する。 write() の返り値は、実際に書きこみに成功した byte 数である。
Copyright (C) 1999 Shigeru Chiba
Email: chiba@is.tsukuba.ac.jp