Freigeben über


_putc_nolock, _putwc_nolock

Schreibt ein Zeichen in einen Stream, ohne den Thread zu sperren.

int _putc_nolock( 
   int c, 
   FILE *stream  
); 
wint_t _putwc_nolock( 
   wchar_t c, 
   FILE *stream  
);

Parameter

  • c
    Zu schreibende Zeichen.

  • stream
    Zeiger zu der FILE-Struktur.

Rückgabewert

Siehe putc, putwc.

Hinweise

_putc_nolock und _putwc_nolock sind identisch mit den Versionen ohne das _nolock-Suffix; 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.

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

Zuordnung generischer Textroutinen

Tchar.h-Routine

_UNICODE und _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_puttc_nolock

_putc_nolock

_putc_nolock

_putwc_nolock

Anforderungen

Routine

Erforderlicher Header

_putc_nolock

<stdio.h>

_putwc_nolock

<stdio.h> oder <wchar.h>

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

Bibliotheken

Alle Versionen C-Laufzeitbibliotheken.

Beispiel

// crt_putc_nolock.c
/* This program uses putc to write buffer
 * to a stream. If an error occurs, the program
 * stops before writing the entire buffer.
 */

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char *p, buffer[] = "This is the line of output\n";
   int  ch;

   ch = 0;
   /* Make standard out the stream and write to it. */
   stream = stdout;
   for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
      ch = _putc_nolock( *p, stream );
}

Ausgabe

This is the line of output

.NET Framework-Entsprechung

Siehe auch

Referenz

Stream-E/A

fputc, fputwc

getc, getwc