【書式】
#include <io.h>
int write(int fd, const void *buf, int n);
【解説】
write()はbufで示されるメモリバッファの内容を、ファイルハンドルfdで示
されるファイルにnバイト書き込みます。
書き込み動作はファイルの現在のリードライト位置から開始します。書き込
み操作が完了すると、リードライト位置は実際に書き込まれたデータのバイ
ト数だけ進められます。
【リターン値】
実際にファイルに書き込まれたデータのバイト数を返します。ディスク容量
の残りが不足した場合には、n よりも小さい値を返します。エラーを検出す
ると-1を返し、errnoにエラーの種類をセットします。
【エラー】
EACCES
アクセスが拒否されました
EBADF
ファイルハンドルfdが無効です
【可搬性】
UNIX, DOS窓
【参照】
creat(3), open(3), read(3), close(3)
【バグ】
write()は、実際には32Kバイト以上を一度に書き込むことが可能です。この
場合にはwrite()のリターン値をunsigned int として使用しなければなりま
せん。 ただし、エラーを示す-1はunsigned intの65535と区別がつきません
ので、write()が書き込むことができる最大のバイト数は65534に制限されま
す。
【copyright (c) 安江正樹@東海大学理学部物理学科】