↑: "[[42-ExtenalFunctions]]" ##### ![[write()-書式]] ##### 説明 - write関数はファイルディスクリプタ(fd)にbufの内容をcount分書き込む関数です [[writeはbufの内容をfdにcount分書き込む|Rpcc]] [[writeはcountバイト書き込む|Rw6h]] [[writeはbufのメモリ領域を書き込む|Rni2]] - 書き込みに成功した場合書き込んだバイト数を返します [[writeは書き込まれたバイト数を返す|Re23s]] [[writeの返り値は実際に書き込んだバイト数を返す|Root]] - 書き込みがエラーになった場合は-1を返します[^1] [[writeが-1を返した場合はエラー|Ru2k]] - 通常`返り値 = count`ですが以下のような理由で`返り値 < count`になる場合があります [[書き込まれるバイト数はcountよりも小さくなることがある|Rkgn]] - fd先のメディアに十分な領域がない - [[RLIMIT_FSIZE]]に達した - 書き込み中にシグナルハンドラで割り込まれた > [!quote] [[write]] ##### ![[write()-使用例]] %% DATAVIEW_PUBLISHER: start ```dataview TABLE WITHOUT ID file.link as child, aliases[0] as alias from "zk/core" where meta(up).path = this.file.path SORT file.mtime ASC ``` %% | child | alias | | ----------------------------------------- | ----- | | [[zk/core/write()-書式.md\|write()-書式]] | Cpz4 | | [[zk/core/write()-使用例.md\|write()-使用例]] | Ctke | | [[zk/core/RLIMIT_FSIZE.md\|RLIMIT_FSIZE]] | Cxr4 | %% DATAVIEW_PUBLISHER: end %% [^1]: どんなエラーかの判別はerrnoから確認できますが、errnoは内部でグローバル変数を利用しているため、課題によって使用できない可能性がある点にはご注意ください。