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) 應用程式中不支援主控台。 與主控台相關聯的標準資料流控制代碼 (stdinstdoutstderr) 必須重新導向,之後 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