putc() - putchar() — 文字の書き込み

フォーマット

#include <stdio.h>
int putc(int c, FILE *stream);
int putchar(int c);

言語レベル: ANSI

スレッド・セーフ: いいえ。#undef putc または #undef putchar は、putc または putchar 関数のマクロ・バージョンの代わりに、これらの関数の呼び出しを許可します。 関数はスレッド・セーフです。

説明

putc() 関数は、c を unsigned char に変換してから、現在位置で c を出力 stream に書き込みます。 putchar() は、putc(c, stdout) と同等です。

putc() 関数はマクロとして定義可能なため、引数を複数回にわたって評価することができます。

putc() および putchar() 関数は、type=record でオープンされたファイルではサポートされません。

戻り値

putc() および putchar() 関数は、書き込まれた文字を戻します。 EOF の戻り値はエラーを示します。

errno の値は、次のいずれかに設定されます。

意味
ECONVERT
変換エラーが発生しました。
EPUTANDGET
読み取り操作の後、正しくない書き込み操作が発生しました。
EIOERROR
リカバリー不能な入出力エラーが発生しました。
EIORECERR
リカバリー可能な入出力エラーが発生しました。

putc() の使用例

この例では、バッファーの内容をデータ・ストリームに書き込みます。 この例では、for 文の本体は NULL ですが、これは、この例ではテスト式内で書き込み操作を実行するためです。

#include <stdio.h>
#include <string.h>
 
#define  LENGTH 80
 
int main(void)
{
   FILE *stream = stdout;
   int i, ch;
   char buffer[LENGTH + 1] = "Hello world";
 
   /* This could be replaced by using the fwrite routine */
   for ( i = 0;
        (i < strlen(buffer)) && ((ch = putc(buffer[i], stream)) !=     EOF);
         ++i);
}
 
/********************  Expected output:  **************************
 
Hello world
*/

関連情報



[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]