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,並將 errno 設為 EINVAL

如需傳回碼的詳細資訊,請參閱 errno_doserrno_sys_errlist_sys_nerr

備註

如果已定義,這些函式都會將單一字元 c 寫入至位於關聯檔案位置指標所指示的位置。 函式會適當地推進指標。 在 和 fputwcfputc ,檔案與 stream 相關聯。 如果檔案不支援定位要求或以附加模式開啟,則會將字元附加至資料流程的結尾。

如果資料流是以 ANSI 模式開啟,則這兩個函式的行為相同。 fputc 目前不支援輸出至 UNICODE 資料流。

_nolock 置詞的版本完全相同,不同之處在于它們不會受到其他執行緒的干擾。 如需詳細資訊,請參閱 _fputwc_nolock_fputc_nolock

常式特定備註如下。

常式 備註
fputc 相當於 putc,但僅實作為函式,而不是函式和巨集。
fputwc fputc 的寬字元版本。 c當以文字模式或二進位模式開啟時 stream ,寫入為多位元組字元或寬字元。

根據預設,此函式的全域狀態會限定于應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。

泛型文字常式對應

TCHAR.H 常式 _UNICODE_MBCS 未定義 _MBCS 定義 _UNICODE 定義
_fputtc fputc fputc fputwc

需求

函式 必要的標頭
fputc <stdio.h>
fputwc <stdio.h > 或 < wchar.h>

通用 Windows 平臺 (UWP) 應用程式中不支援主控台。 與主控台 stdinstdout 、 和 stderr 相關聯的標準資料流程控制碼必須先重新導向,C 執行時間函式才能在 UWP 應用程式中使用這些控制碼。 如需相容性詳細資訊,請參閱相容性

範例

// 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!!

另請參閱

資料流 I/O
fgetc, fgetwc
putc, putwc