_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