名 前
fputc, fputs, putc, putchar, puts − 文 字 と 文 字 列 の 出 力
書 式
#include <stdio.h>
int fputc(int c, FILE *stream);
int fputs(const char *s, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);
int puts(const char *s);
説 明
fputc() は 、 キ ャ ラ ク タ ー c を unsigned char に キ ャ ス ト し 、 stream に 書 き 込 む 。
fputs() は 、 文 字 列 s を stream に 書 き 込 む 。 文 字 列 終 端 の ヌ ル バ イ ト ('\0') は 出 力 し な い 。
putc() は 、 stream を 一 度 以 上 評 価 す る マ ク ロ と し て 実 装 さ れ て い る か も 知 れ な い と い う 点 を 除 き 、 fputc() と 同 じ で あ る 。
putchar(c) は 、 putc(c,stdout) と 同 じ で あ る 。
puts() は 、 文 字 列 s と 改 行 を stdout に 書 き 込 む 。 こ こ で 説 明 さ れ た 関 数 は お 互 い に 混 在 し て 使 用 す る こ と が で き 、 ま た 、 stdio ラ イ ブ ラ リ に 含 ま れ る 他 の 出 力 関 数 を 同 じ 出 力 ス ト リ ー ム に 対 し て 呼 び 出 す 事 が 出 来 る 。 こ れ ら の 処 理 を 停 止 せ ず に 行 い た い と き は 、 unlocked_stdio(3) を 参 照 の こ と 。
返 り 値
fputc(), putc(), putchar() は unsigned char と し て 書 き 込 ま れ た 文 字 を int に キ ャ ス ト し て 返 す 。 エ ラ ー が 発 生 し た 場 合 は EOF を 返 す 。
puts() と fputs() は 、 成 功 す る と 負 で は な い 数 を 、 エ ラ ー が 発 生 し た 場 合 は EOF を 返 す 。
準 拠
C89, C99.
バ グ
stdio ラ イ ブ ラ リ に 含 ま れ る 出 力 関 数 と 、 同 じ 出 力 ス ト リ ー ム に 結 び つ け ら れ た フ ァ イ ル デ ィ ス ク リ プ タ ー に 対 す る write(2) の 低 レ ベ ル 呼 び 出 し を 混 在 し て 使 用 す る こ と は 賢 明 で は な い 。 そ の 結 果 は 定 義 さ れ て お ら ず 、 望 む 結 果 が 得 ら れ な い 可 能 性 が 高 い 。
関 連 項 目
write(2), ferror(3), fgets(3), fopen(3), fputwc(3), fputws(3), fseek(3), fwrite(3), putwchar(3), scanf(3), unlocked_stdio(3)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。