Partager via


_putc_nolock, _putwc_nolock

Écrit un caractère dans un flux sans verrouillage.

Syntaxe

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

Paramètres

c
Caractère à écrire.

stream
Pointeur désignant la structure FILE.

Valeur retournée

Consultez putc, putwc.

Notes

_putc_nolock et _putwc_nolock sont identiques aux versions sans le suffixe _nolock, à ceci près qu’elles ne sont pas protégées contre les interférences avec d’autres threads. Elles peuvent être plus rapides, car elles n’entraînent pas de surcharge liée au verrouillage des autres threads. Utilisez ces fonctions uniquement dans les contextes thread-safe, tels que les applications à un seul thread ou lorsque la portée appelante gère déjà l'isolation des threads.

_putwc_nolock est la version à caractères larges de _putc_nolock ; les deux fonctions se comportent de la même manière si le flux est ouvert en mode ANSI. _putc_nolock ne prend pas en charge la sortie vers un flux UNICODE pour l’instant.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Mappages de routines de texte générique

Routine Tchar.h _UNICODE et _MBCS non définis _MBCS défini _UNICODE défini
_puttc_nolock _putc_nolock _putc_nolock _putwc_nolock

Spécifications

Routine En-tête requis
_putc_nolock <stdio.h>
_putwc_nolock <stdio.h> ou <wchar.h>

La console n’est pas prise en charge dans les applications de la plateforme Windows universelle (UWP). Les handles de flux standard associés à la console (stdin, stdout et stderr) doivent être redirigés pour que les fonctions de runtime C puissent les utiliser dans les applications UWP. Pour plus d’informations sur la compatibilité, consultez Compatibility.

Bibliothèques

Toutes les versions des bibliothèques Runtime C.

Exemple

// 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 );
}

Sortie

This is the line of output

Voir aussi

E/S de flux
fputc, fputwc
getc, getwc