Freigeben über


_fgetc_nolock, _fgetwc_nolock

Liest ein Zeichen von einem Stream, ohne den Thread zu sperren.

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

Parameter

  • stream
    Zeiger auf die FILE-Struktur.

Rückgabewert

Siehe fgetc, fgetwc.

Hinweise

_fgetc_nolock und _fgetwc_nolock sind mit fgetc und fgetwc nahezu identisch, allerdings sind sie nicht vor Störungen durch andere Threads geschützt. Sie sind möglicherweise schneller, da kein Mehraufwand zur Sperrung anderer Threads erforderlich ist. Verwenden Sie diese Funktionen nur in threadsichere Kontexten wie z. B. in Singlethreadanwendungen oder in Fällen, in denen der aufrufende Bereich die Threadisolation bereits handhabt.

Zuordnung generischer Textroutinen

Tchar.h-Routine

_UNICODE und _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_fgettc_nolock

_fgetc_nolock

_fgetc_nolock

_fgetwc_nolock

Anforderungen

Funktion

Erforderlicher Header

_fgetc_nolock

<stdio.h>

_fgetwc_nolock

<stdio.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

Beispiel

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

Eingabe: crt_fgetc_nolock.txt

Line one.
Line two.

Ausgabe

Line one.
Line two.

.NET Framework-Entsprechung

Siehe auch

Referenz

Stream-E/A

fputc, fputwc

getc, getwc