fputc
, fputwc
Zapisuje znak w strumieniu.
Składnia
int fputc(
int c,
FILE *stream
);
wint_t fputwc(
wchar_t c,
FILE *stream
);
Parametry
c
Znak do zapisania.
stream
Wskaźnik do FILE
struktury.
Wartość zwracana
Każda z tych funkcji zwraca zapisany znak. W przypadku fputc
parametru EOF
zwracana wartość wskazuje błąd. W przypadku fputwc
parametru WEOF
zwracana wartość wskazuje błąd. Jeśli stream
to NULL
, te funkcje wywołują nieprawidłową procedurę obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonanie jest dozwolone do kontynuowania, zwracają EOF
i ustawiają wartość EINVAL
errno
.
Aby uzyskać więcej informacji na temat kodów zwracanych, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Uwagi
Każda z tych funkcji zapisuje pojedynczy znak c
do pliku na pozycji wskazanej przez skojarzony wskaźnik położenia pliku, jeśli jest zdefiniowany. Funkcje przesuwają wskaźnik odpowiednio. W fputc
systemach i fputwc
plik jest skojarzony z elementem stream
. Jeśli plik nie może obsługiwać żądań pozycjonowania lub został otwarty w trybie dołączania, znak jest dołączany na końcu strumienia.
Obie funkcje zachowują się identycznie, jeśli strumień jest otwarty w trybie ANSI. fputc
obecnie nie obsługuje danych wyjściowych do strumienia UNICODE.
Wersje z sufiksem _nolock
są identyczne, z tą różnicą, że nie są chronione przed ingerencją innych wątków. Aby uzyskać więcej informacji, zobacz_fputwc_nolock
_fputc_nolock
.
Postępuj zgodnie z rutynowymi uwagami.
Procedura | Uwagi |
---|---|
fputc |
putc Odpowiednik , ale zaimplementowany tylko jako funkcja, a nie jako funkcja i makro. |
fputwc |
Wersja z szerokim znakiem .fputc c Zapisuje jako znak wielobajtowy lub szeroki znak, gdy stream jest otwarty w trybie tekstowym lub binarnym, odpowiednio. |
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Mapowania procedur tekstu ogólnego
Procedura TCHAR.H | _UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_fputtc |
fputc |
fputc |
fputwc |
Wymagania
Function | Wymagany nagłówek |
---|---|
fputc |
<stdio.h> |
fputwc |
<stdio.h> lub <wchar.h> |
Konsola nie jest obsługiwana w aplikacjach platformy platforma uniwersalna systemu Windows (UWP). Standardowe dojścia strumienia skojarzone z konsolą —stdin
stdout
i stderr
— muszą zostać przekierowane, zanim funkcje czasu wykonywania języka C będą mogły ich używać w aplikacjach platformy UWP. Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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!!