Partager via


_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. Ils peuvent être plus rapides parce qu’ils n’entraînent pas de surcharge de 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!!

Voir aussi

E/S de flux
fgetc, fgetwc
putc, putwc