fscanf, _fscanf_l, fwscanf, _fwscanf_l
Okuma akışı verileri biçimlendirilmiş.Bu işlevler daha güvenli sürümlerinin kullanılabilir olduğunu; see fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l.
int fscanf(
FILE *stream,
const char *format [,
argument ]...
);
int _fscanf_l(
FILE *stream,
const char *format,
locale_t locale [,
argument ]...
);
int fwscanf(
FILE *stream,
const wchar_t *format [,
argument ]...
);
int _fwscanf_l(
FILE *stream,
const wchar_t *format,
locale_t locale [,
argument ]...
);
Parametreler
stream
İşaretçi FILE yapısı.format
Denetim biçim dizesi.argument
İsteğe bağlı bağımsız değişkenler.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
Bu işlevlerden her biri başarıyla dönüştürülür ve atanan alanların sayısını verir; Dönüş değeri okuyabilir ancak atanmamış alanları içermez.Hiçbir alan atanmış olan 0 dönüş değeri gösterir.Bir hata oluşursa veya dosya akış sonu ilk dönüştürmeden önce ulaşılırsa, dönüş değeri EOF için fscanf ve fwscanf.
Bu işlevler, kendi parametreleri doğrulayın.stream Veya format bir null işaretçi geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre Doğrulama.Bu işlevler dönüş yürütülmesine devam etmek için izin verilip verilmediğini, EOF ve errno için EINVAL.
Notlar
fscanf İşlevi geçerli konumdan verileri okur stream tarafından verilen konumları içine argument (varsa).Her argument bir işaretçi türü belirticisi karşılık gelen bir türünde bir değişken olmalıdır format.formatyorumunu giriş alanları ve aynı denetimleri form ve olarak işlev format bağımsız değişkeni scanf; Bkz: scanf bir açıklaması için format*.*
fwscanfgeniş karakter sürümü fscanf; biçimi bağımsız fwscanf bir geniş karakter dizesidir.Akış ANSI modunda açılırsa bu işlevler aynı özdeş olarak davranır.fscanfşu anda bir UNICODE akış girişten desteklemiyor.
Bu işlevler ile sürümlerini _l soneki yerine geçerli iş parçacığı yerel geçirilen yerel parametresi kullandıkları dışında aynı.
Genel metin yordamı eşlemeleri
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlı değil |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_ftscanf |
fscanf |
fscanf |
fwscanf |
_ftscanf_l |
_fscanf_l |
_fscanf_l |
_fwscanf_l |
Daha fazla bilgi için bkz: Biçim belirtimi alanlar – scanf işlevlerini ve wscanf işlevlerini.
Gereksinimler
İşlev |
Gerekli başlık |
---|---|
fscanf, _fscanf_l |
<stdio.h> |
fwscanf, _fwscanf_l |
<stdio.h> veya <wchar.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// crt_fscanf.c
// compile with: /W3
// This program writes formatted
// data to a file. It then uses fscanf to
// read the various data back from the file.
#include <stdio.h>
FILE *stream;
int main( void )
{
long l;
float fp;
char s[81];
char c;
if( fopen_s( &stream, "fscanf.out", "w+" ) != 0 )
printf( "The file fscanf.out was not opened\n" );
else
{
fprintf( stream, "%s %ld %f%c", "a-string",
65000, 3.14159, 'x' );
// Security caution!
// Beware loading data from a file without confirming its size,
// as it may lead to a buffer overrun situation.
// Set pointer to beginning of file:
fseek( stream, 0L, SEEK_SET );
// Read data back from file:
fscanf( stream, "%s", s ); // C4996
fscanf( stream, "%ld", &l ); // C4996
fscanf( stream, "%f", &fp ); // C4996
fscanf( stream, "%c", &c ); // C4996
// Note: fscanf is deprecated; consider using fscanf_s instead
// Output data read:
printf( "%s\n", s );
printf( "%ld\n", l );
printf( "%f\n", fp );
printf( "%c\n", c );
fclose( stream );
}
}
.NET Framework Eşdeğeri
System::IO::StreamReader::ReadLine. Ayrıca bkz: Parse yöntemleri gibi System::Double::Parse.
Ayrıca bkz.
Başvuru
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
scanf, _scanf_l, wscanf, _wscanf_l