_fgetc_nolock, _fgetwc_nolock
Liest ein Zeichen aus einem Datenstrom, 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
Weitere Informationen finden Siefgetc, fgetwc.
Hinweise
_fgetc_nolock und _fgetwc_nolock sind fgetc und jeweils fgetwcidentisch mit der Ausnahme, dass sie werden nicht von der Fehler durch andere Threads geschützt.Sie können möglicherweise schneller, da sie nicht den Mehraufwand von anderen Threads heraus Sperren verursachen.Verwenden Sie diese Funktionen nur in threadsicherer Kontexten wie Anwendungen oder Singlethreaden, wo die aufrufende Ziehpunkte des Gültigkeitsbereichs bereits Isolation Thread ausgeführt werden.
Zuweisung generischer Textroutinen
Tchar.h-Routine |
_UNICODE als auch _MBCS nicht definiert |
_MBCS definieren |
_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 finden Sie unter Kompatibilität 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.
Output
Line one.
Line two.