Aracılığıyla paylaş


fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l

Okuma akışı verileri biçimlendirilmiş.Bunlar sürümleridir fscanf, _fscanf_l, fwscanf, _fwscanf_l açıklandığı gibi güvenlik geliştirmeleri ile crt güvenlik özellikleri.

int fscanf_s( 
   FILE *stream,
   const char *format [,
   argument ]... 
);
int _fscanf_s_l( 
   FILE *stream,
   const char *format,
   locale_t locale [,
   argument ]... 
);
int fwscanf_s( 
   FILE *stream,
   const wchar_t *format [,
   argument ]... 
);
int _fwscanf_s_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_s ve fwscanf_s.

Bu işlevler, kendi parametreleri doğrulayın.Akış Ian belirtildi dosya işaretçisi ise veya format bir null işaretçi açıklandığı gibi bu işlevleri geçersiz parametre işleyicisi çağırmak 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_s İş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_s; Bkz: Biçim belirtimi alanlar – scanf işlevlerini ve wscanf işlevlerini bir açıklaması için format*.*fwscanf_s geniş karakter sürümü fscanf_s; biçimi bağımsız fwscanf_s bir geniş karakter dizesidir.Akış ANSI modunda açılırsa bu işlevler aynı şekilde davranır.fscanf_sşu anda bir UNICODE akış girişten desteklemiyor.

Güvenli işlevleri arasındaki temel fark (ile _s sonek) ve eski işlevleri olan güvenli işlevler her karakter boyutu gerektiren c, C, s, S ve [ tür alanı değişken hemen bir değişken olarak için.Daha fazla bilgi için, bkz. scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l ve scanf genişlik belirtimi.

[!NOT]

Boyut parametresi türü olan unsignedyerine size_t.

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_s

fscanf_s

fscanf_s

fwscanf_s

_ftscanf_s_l

_fscanf_s_l

_fscanf_s_l

_fwscanf_s_l

Gereksinimler

İşlev

Gerekli başlık

fscanf_s, _fscanf_s_l

<stdio.h>

fwscanf_s, _fwscanf_s_l

<stdio.h> veya <wchar.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// crt_fscanf_s.c
// This program writes formatted
// data to a file. It then uses fscanf to
// read the various data back from the file.
 
#include <stdio.h>
#include <stdlib.h>

FILE *stream;

int main( void )
{
   long l;
   float fp;
   char s[81];
   char c;

   errno_t err = fopen_s( &stream, "fscanf.out", "w+" );
   if( err )
      printf_s( "The file fscanf.out was not opened\n" );
   else
   {
      fprintf_s( stream, "%s %ld %f%c", "a-string", 
               65000, 3.14159, 'x' );
      // Set pointer to beginning of file:
      fseek( stream, 0L, SEEK_SET );

      // Read data back from file:
      fscanf_s( stream, "%s", s, _countof(s) );
      fscanf_s( stream, "%ld", &l );

      fscanf_s( stream, "%f", &fp );
      fscanf_s( stream, "%c", &c, 1 );

      // 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

G/ç

_cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l

fscanf, _fscanf_l, fwscanf, _fwscanf_l