putc、putwcputc, putwc

ストリームに文字を書き込みます。Writes a character to a stream.


int putc(
   int c,
   FILE *stream
wint_t putwc(
   wchar_t c,
   FILE *stream


書き込む文字。Character to be written.

FILE 構造体へのポインター。Pointer to FILE structure.

戻り値Return Value

書き込まれた文字を返します。Returns the character written. エラーまたはファイルの終端状態を示すには、 putcPutcharEOFを返します。putwcputwcharWEOFを返します。To indicate an error or end-of-file condition, putc and putchar return EOF; putwc and putwchar return WEOF. 4 つすべてのルーチンで、ferror または feof を使用して、エラーまたはファイルの終端を確認します。For all four routines, use ferror or feof to check for an error or end of file. ストリームに null ポインターが渡された場合は、「パラメーターの検証」で説明されているように、無効なパラメーターハンドラーが呼び出されます。If passed a null pointer for stream, the invalid parameter handler is invoked, as described in Parameter Validation. 実行の継続が許可された場合、これらの関数はEOFまたはWEOFを返し、 errnoEINVALに設定します。If execution is allowed to continue, these functions return EOF or WEOF and set errno to EINVAL.

エラー コードの詳細については、「_doserrno、errno、_sys_errlist、_sys_nerr」をご覧ください。See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, error codes.


Putcルーチンは、1文字のcを出力ストリームに現在の位置に書き込みます。The putc routine writes the single character c to the output stream at the current position. 任意の整数をputcに渡すことができますが、下位8ビットのみが書き込まれます。Any integer can be passed to putc, but only the lower 8 bits are written. Putcharルーチンはと同じputc( c, stdout )です。The putchar routine is identical to putc( c, stdout ). 各ルーチンでは、読み取りエラーが発生すると、ストリームのエラー インジケーターが設定されます。For each routine, if a read error occurs, the error indicator for the stream is set. putcputcharはそれぞれfputc_fputcharに似ていますが、関数とマクロの両方として実装されています (「関数とマクロの使い分け」を参照してください)。putc and putchar are similar to fputc and _fputchar, respectively, but are implemented both as functions and as macros (see Choosing Between Functions and Macros). putwcputwcharは、それぞれputcputcharのワイド文字バージョンです。putwc and putwchar are wide-character versions of putc and putchar, respectively. ストリームが ANSI モードで開かれている場合、 putwcputcは同じように動作します。putwc and putc behave identically if the stream is opened in ANSI mode. putcは、現在 UNICODE ストリームへの出力をサポートしていません。putc doesn't currently support output into a UNICODE stream.

_nolock サフィックスが付いているバージョンは同じものですが、他のスレッドによる干渉から保護されない点が異なります。The versions with the _nolock suffix are identical except that they are not protected from interference by other threads. 詳細については、「 _putc_nolock、_putwc_nolock」をご覧ください。For more information, see _putc_nolock, _putwc_nolock.

汎用テキスト ルーチンのマップGeneric-Text Routine Mappings

TCHAR.H のルーチンTCHAR.H routine _UNICODE および _MBCS が未定義の場合_UNICODE & _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_puttc_puttc putcputc putcputc putwcputwc


ルーチンによって返される値Routine 必須ヘッダーRequired header
putcputc <stdio.h><stdio.h>
putwcputwc <stdio.h> または <wchar.h><stdio.h> or <wchar.h>

コンソールは、ユニバーサル Windows プラットフォーム (UWP) アプリではサポートされていません。The console is not supported in Universal Windows Platform (UWP) apps. コンソール、 stdinstdout、およびstderrに関連付けられている標準ストリームハンドルは、C ランタイム関数が UWP アプリで使用できるようになる前にリダイレクトする必要があります。The standard stream handles that are associated with the console, stdin, stdout, and stderr, must be redirected before C run-time functions can use them in UWP apps. 互換性の詳細については、「 互換性」を参照してください。For additional compatibility information, see Compatibility.


C ランタイム ライブラリのすべてのバージョン。All versions of the C run-time libraries.


// crt_putc.c
/* This program uses putc to write buffer
* to a stream. If an error occurs, the program
* stops before writing the entire buffer.

#include <stdio.h>

int main( void )
   FILE *stream;
   char *p, buffer[] = "This is the line of output\n";
   int  ch;

   ch = 0;
   /* Make standard out the stream and write to it. */
   stream = stdout;
   for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
      ch = putc( *p, stream );


This is the line of output

関連項目See also

ストリーム入出力Stream I/O
fputc、fputwcfputc, fputwc
getc、getwcgetc, getwc