Condividi tramite


_fgetc_nolock, _fgetwc_nolock

Legge un carattere da un flusso senza bloccare il thread.

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

Parametri

  • stream
    Puntatore alla struttura FILE.

Valore restituito

Vederefgetc, fgetwc.

Note

_fgetc_nolock e _fgetwc_nolock sono identiche rispettivamente a fgetc e fgetwc ad eccezione del fatto che non sono protette dalle interferenze da parte di altre thread. Potrebbero essere più veloci perché non comportano un sovraccarico che blocca altri thread. Utilizzare queste funzioni solo in contesti thread-safe come applicazioni a thread singolo o dove l'ambito chiamante già gestisce l'isolamento del thread.

Mapping di routine di testo generico

Routine Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_fgettc_nolock

_fgetc_nolock

_fgetc_nolock

_fgetwc_nolock

Requisiti

Funzione

Intestazione obbligatoria

_fgetc_nolock

<stdio.h>

_fgetwc_nolock

<stdio.h> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Esempio

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

Input: crt_fgetc_nolock.txt

Line one.
Line two.

Output

Line one.
Line two.

Equivalente .NET Framework

Vedere anche

Riferimenti

I/O di flusso

fputc, fputwc

getc, getwc