次の方法で共有


fputc, fputwc

ストリームに文字を書き込みます。

構文

int fputc(
   int c,
   FILE *stream
);
wint_t fputwc(
   wchar_t c,
   FILE *stream
);

パラメーター

c
書き込む文字。

stream
FILE 構造体へのポインター。

戻り値

これらの各関数は、書き込まれた文字を返します。 fputc の場合、EOF の戻り値はエラーを示します。 fputwc の場合、WEOF の戻り値はエラーを示します。 streamNULL場合、これらの関数は、パラメーター検証で説明されているように、無効なパラメーター ハンドラーを呼び出します。 実行の継続が許可された場合、これらは EOF を返し、 errnoEINVALに設定します。

リターン コードの詳細については、「errno_doserrno_sys_errlist、および _sys_nerr」を参照してください。

解説

これらの各関数は、定義されている場合、関連付けられたファイル位置インジケーターによって示される位置に、1 文字の c をファイルに書き込みます。 関数は、必要に応じてインジケーターを進める。 fputcfputwcでは、ファイルはstreamに関連付けられています。 ファイルが配置要求をサポートできない場合、または追加モードで開かれた場合、文字はストリームの末尾に追加されます。

ストリームが ANSI モードで開かれている場合、2 つの関数の動作は同じになります。 fputc では、UNICODE ストリームへの出力はサポートされていません。

_nolock サフィックス付きのバージョンは同じものですが、他のスレッドによる干渉から保護されない点が異なります。 詳細については、「_fputc_nolock_fputwc_nolock」を参照してください。

ルーチン固有の解説は、次のとおりです。

ルーチンによって返される値 解説
fputc putc と同じですが、関数とマクロではなく関数としてのみ実装されています。
fputwc fputc のワイド文字バージョン。 テキスト モードまたはバイナリ モードでstreamを開いたときに、cをマルチバイト文字またはワイド文字として書き込みます。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

汎用テキスト ルーチンのマップ

TCHAR.H のルーチン _UNICODE_MBCS が定義されていない _MBCS が定義されている _UNICODE が定義されている
_fputtc fputc fputc fputwc

要件

機能 必須ヘッダー
fputc <stdio.h>
fputwc <stdio.h> または <wchar.h>

ユニバーサル Windows プラットフォーム (UWP) アプリではコンソールがサポートされていません。 UWP アプリで C ランタイム関数が、コンソールに関連付けられている標準ストリーム ハンドル (stdinstdoutstderr) を使用するには、それらのハンドルを事前にリダイレクトしておく必要があります。 互換性の詳細については、「 Compatibility」を参照してください。

// crt_fputc.c
// This program uses fputc
// to send a character array to stdout.

#include <stdio.h>

int main( void )
{
   char strptr1[] = "This is a test of fputc!!\n";
   char *p;

   // Print line to stream using fputc.
   p = strptr1;
   while( (*p != '\0') && fputc( *(p++), stdout ) != EOF ) ;

}
This is a test of fputc!!

関連項目

ストリーム入出力
fgetc, fgetwc
putc, putwc