_fputc_nolock
, _fputwc_nolock
Écrit un caractère dans un flux sans verrouillage.
Syntaxe
int _fputc_nolock(
int c,
FILE *stream
);
wint_t _fputwc_nolock(
wchar_t c,
FILE *stream
);
Paramètres
c
Caractère à écrire.
stream
Pointeur désignant la structure FILE
.
Valeur retournée
Chacune de ces fonctions retourne le caractère écrit. Pour plus d’informations sur les erreurs, consultez fputc
, fputwc
.
Notes
_fputc_nolock
et _fputwc_nolock
sont identiques à fputc
et fputwc
, respectivement, à ceci près qu’elles ne sont pas protégées contre les interférences par 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.
Les deux fonctions se comportent de la même façon si le flux est ouvert en mode ANSI. _fputc_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 |
---|---|---|---|
_fputtc_nolock |
_fputc_nolock |
_fputc_nolock |
_fputwc_nolock |
Spécifications
Fonction | En-tête requis |
---|---|
_fputc_nolock |
<stdio.h> |
_fputwc_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 des applications UWP. Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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!!