Freigeben über


_fputc_nolock, _fputwc_nolock

Schreibt ein Zeichen in einen Datenstrom ohne zu sperren.

Syntax

int _fputc_nolock(
   int c,
   FILE *stream
);
wint_t _fputwc_nolock(
   wchar_t c,
   FILE *stream
);

Parameter

c
Zu schreibende Zeichen.

stream
Zeiger auf die FILE-Struktur.

Rückgabewert

Jede dieser Funktionen gibt das geschriebene Zeichen zurück. Weitere Informationen zu Fehlern finden Sie unter fputc, fputwc.

Hinweise

_fputc_nolock und _fputwc_nolock sind mit fputc bzw. fputwc nahezu identisch, allerdings sind sie nicht vor Störungen durch andere Threads geschützt. Sie sind möglicherweise schneller, da kein Mehraufwand zur Sperrung anderer Threads erforderlich ist. Verwenden Sie diese Funktionen nur in threadsichere Kontexten wie z. B. in Singlethreadanwendungen oder in Fällen, in denen der aufrufende Bereich die Threadisolation bereits handhabt.

Die zwei Funktionen verhalten sich identisch, wenn der Stream im ANSI-Modus geöffnet ist. _fputc_nolock unterstützt derzeit die Ausgabe in einen UNICODE-Stream nicht.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

Mapping generischer Textroutinen

Tchar.h-Routine _UNICODE und _MBCS nicht definiert _MBCS definiert _UNICODE definiert
_fputtc_nolock _fputc_nolock _fputc_nolock _fputwc_nolock

Anforderungen

Funktion Erforderlicher Header
_fputc_nolock <stdio.h>
_fputwc_nolock <stdio.h> oder <wchar.h>

Die Konsole wird in UWP-Apps (Universelle Windows-Plattform) nicht unterstützt. Die mit der Konsole verknüpften Standardstreamhandles stdin, stdout und stderr müssen umgeleitet werden, bevor sie von C-Runtimefunktionen in UWP-Apps verwendet werden können. Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

// crt_fputc_nolock.c
// This program uses _fputc_nolock
// to send a character array to stdout.

#include <stdio.h>

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

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

}
This is a test of _fputc_nolock!!

Siehe auch

Stream-E/A
fgetc, fgetwc
putc, putwc