_putc_nolock, _putwc_nolock
Écrit un caractère dans un flux sans verrouiller 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 la structure de FICHIER .
Valeur de retour
Consultez putc, putwc.
Notes
_putc_nolock et _putwc_nolock sont identiques aux versions sans suffixe de _nolock sauf qu'ils ne sont pas protégés des interférence par d'autres threads.Ils peuvent être plus rapides car elles n'entraînent pas la charge mémoire de verrouiller d'autres threads.Utilisez ces fonctions uniquement dans des contextes thread-safe tels que des applications à un seul thread ou où les handles appelants de portée déjà thread l'isolation.
_putwc_nolock est la version à caractère élargi d' _putc_nolock; les deux fonctions se comportent de la même si le flux est ouvert en mode ANSI._putc_nolock ne prend pas en charge actuellement la sortie dans un flux d'UNICODE.
Mappages de routines de texte générique
Routine de Tchar.h |
_UNICODE et non définis _MBCS |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_puttc_nolock |
_putc_nolock |
_putc_nolock |
_putwc_nolock |
Configuration requise
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 d' Windows Store .Les handles standard de flux de données associés à la console, stdin, stdout, et stderr, doivent être redirigés pour que les fonctions runtime C peuvent les utiliser dans des applications d' Windows Store .Pour plus d'informations de compatibilité, consultez l' Compatibilité dans l'introduction.
Bibliothèques
Toutes les versions d' 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