putcは、fputcと同じく、指定されたストリームに、指定された1文字を書き込む。
ただし、putcはマクロ定義されている処理系もある。
そのため、複数回評価されることによる副作用を伴う式は、渡すべきではないとのこと。
fputc, putc - cppreference.com
今回はそのことではなく、戻り値を確認してみる。
putcや、fputcは、書き込みに成功すると書いた文字、失敗するとEOFを返す。
fcloseで閉じてから、書き込んだらどうなるか。
戻り値を出力。
$ vi putc.c $ gcc putc.c -o putc $ ls putc putc.c $ ./putc ret = 'F' $ ls putc putc.c test.txt $ cat test.txt ABCDE$
なんと、EOFではなく、指定した文字'F'を返してきた。
とはいえ、test.txtには書かれていない。
putcは、なかなか失敗しないということだろうか。
Sample/c/putc/putc/src/putc at master · bg1bgst333/Sample · GitHub