Partager via


_fgetc_nolock, _fgetwc_nolock

Lit un caractère d'un flux de données sans verrouiller le thread.

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

Paramètres

  • stream
    Pointeur vers la structure FILE.

Valeur de retour

Consultez fgetc, fgetwc.

Notes

_fgetc_nolock et _fgetwc_nolock sont identiques à fgetc et fgetwc, respectivement, sauf qu'ils ne sont pas protégés des interférences avec 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.

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

Configuration requise

Fonction

En-tête requis

_fgetc_nolock

<stdio.h>

_fgetwc_nolock

<stdio.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

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.

Équivalent .NET Framework

Voir aussi

Référence

E/S de flux

fputc, fputwc

getc, getwc