putc

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