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

Akış G/Ç

_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

fprintf, _fprintf_l, fwprintf, _fwprintf_l

scanf, _scanf_l, wscanf, _wscanf_l

sscanf, _sscanf_l, swscanf, _swscanf_l

fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l