Partager via


_fgetc_nolock, _fgetwc_nolock

Lit un caractère dans un flux sans verrouillage.

Syntaxe

int _fgetc_nolock(
   FILE *stream
);
wint_t _fgetwc_nolock(
   FILE *stream
);

Paramètres

stream
Pointeur désignant la structure FILE.

Valeur retournée

Consultez fgetc et fgetwc.

Notes

_fgetc_nolock et _fgetwc_nolock sont identiques à fgetc et fgetwc, 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.

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
_fgettc_nolock _fgetc_nolock _fgetc_nolock _fgetwc_nolock

Spécifications

Fonction En-tête requis
_fgetc_nolock <stdio.h>
_fgetwc_nolock <stdio.h> ou <wchar.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

// crt_fgetc_nolock.c
// This program uses getc to read the first
// 80 input characters (or until the end of input)
// and place them into a string named buffer.

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
   FILE *stream;
   char buffer[81];
   int  i, ch;

   // Open file to read line from:
   if( fopen_s( &stream, "crt_fgetc_nolock.txt", "r" ) != 0 )
      exit( 0 );

   // Read in first 80 characters and place them in "buffer":
   ch = fgetc( stream );
   for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )
   {
      buffer[i] = (char)ch;
      ch = _fgetc_nolock( stream );
   }

   // Add null to end string
   buffer[i] = '\0';
   printf( "%s\n", buffer );
   fclose( stream );
}

Entrée : crt_fgetc_nolock.txt

Line one.
Line two.

Sortie

Line one.
Line two.

Voir aussi

E/S de flux
fputc, fputwc
getc, getwc