_putc_nolock, _putwc_nolock

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Écrit un caractère dans un flux de données sans bloquer le thread.

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

Paramètres

c
Caractère à écrire.

stream
Pointeur vers le fichier structure.

Consultez la page putc, putwc.

_putc_nolocket _putwc_nolock sont identiques aux versions sans le _nolock suffixe, sauf qu’ils ne sont pas protégés contre toute interférence par d’autres threads. Elles peuvent être plus rapides, car elles n'entraînent pas la charge du 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_nolockest la version à caractères larges de _putc_nolock; les deux fonctions se comportent comme si le flux est ouvert en mode ANSI. _putc_nolocknon prise en charge sortie dans un flux de données UNICODE.

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
RoutineEn-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 Windows 8.x Store . Les handles de flux standard associés à la console (stdin, stdout et stderr) doivent être redirigés pour que les fonctions Runtime C puissent les utiliser dans les applications du Windows 8.x Store. Pour plus d’informations sur la compatibilité, consultez Compatibility.

Toutes les versions des bibliothèques Runtime C.

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

This is the line of output  

Flux d’e/s
fputc, fputwc
getc, getwc

Afficher: