Aracılığıyla paylaş


sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l

Okuma bir dize verileri biçimlendirilmiş.Bunlar sürümleridir sscanf, _sscanf_l, swscanf, _swscanf_l açıklandığı gibi güvenlik geliştirmeleri ile crt güvenlik özellikleri.

int sscanf_s(
   const char *buffer,
   const char *format [,
   argument ] ...
);
int _sscanf_s_l(
   const char *buffer,
   const char *format,
   locale_t locale [,
   argument ] ...
);
int swscanf_s(
   const wchar_t *buffer,
   const wchar_t *format [,
   argument ] ...
);
int _swscanf_s_l(
   const wchar_t *buffer,
   const wchar_t *format,
   locale_t locale [,
   argument ] ...
);

Parametreler

  • buffer
    Saklı veri

  • format
    Denetim biçim dizesi.Daha fazla bilgi için bkz: Biçimi belirtimleri.

  • 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.Dönüş değeri EOF hata veya dizenin sonuna ilk dönüştürmeden önce ulaşılırsa.

buffer Veya format olan bir NULL işaretçisi, geçersiz parametre işleyici çağrıldığında, açıklandığı gibi Parametre doğrulama.Yürütülmesine devam etmek için izin verilmişse, bu işlevler -1 geri dönün ve errno içinEINVAL

Bunlar ve diğer hata kodları hakkında daha fazla bilgi için bkz: _doserrno, errno, _sys_errlist ve _sys_nerr.

Notlar

sscanf_s İşlevi verileri okur buffer her tarafından verilen konumuna argument.Biçim dizesi bağımsız değişkenleri için işaretçiler türü belirticisi karşılık gelen bir tür belirtmek format.Daha az güvenli bir sürümünü aksine sscanf, arabellek boyutu parametresi türü alanı karakterleri kullanılırken gereklidir c, C, s, S ve [.Karakter arabelleği boyutu gerektiriyorsa her arabellek sonra ek bir parametre olarak girilmesi gerekir.Daha fazla bilgi için, bkz. scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l ve scanf alan karakterleri yazın.

[!NOT]

Boyut parametresi türü olan unsignedyerine size_t.

format Yorumunu giriş alanları ve aynı bağımsız denetimlerin form ve olarak işlev format bağımsız değişkeni scanf_s işlevi.Kopyalama üst üste dizeler arasında yer alıyorsa, tanımsız bir davranıştır.

swscanf_sgeniş karakter sürümü sscanf_s; bağımsız swscanf_s geniş karakter dizeleridir.sscanf_sçok baytlı onaltılı karakter işlemez.swscanf_stam genişlikli Unicode onaltılık veya "uyumluluk bölgesi" karakterleri işlemez.Aksi halde, swscanf_s ve sscanf_s aynı şekilde davranır.

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

_stscanf_s

sscanf_s

sscanf_s

swscanf_s

_stscanf_s_l

_sscanf_s_l

_sscanf_s_l

_swscanf_s_l

Gereksinimler

Yordamı

Gerekli başlık

sscanf_s, _sscanf_s_l

<stdio.h>

swscanf_s, _swscanf_s_l

<stdio.h> veya <wchar.h>

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

Örnek

// crt_sscanf_s.c
// This program uses sscanf_s to read data items
// from a string named tokenstring, then displays them.

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
   char  tokenstring[] = "15 12 14...";
   char  s[81];
   char  c;
   int   i;
   float fp;

   // Input various data from tokenstring:
   // max 80 character string plus NULL terminator
   sscanf_s( tokenstring, "%s", s, _countof(s) );
   sscanf_s( tokenstring, "%c", &c, sizeof(char) );
   sscanf_s( tokenstring, "%d", &i );
   sscanf_s( tokenstring, "%f", &fp );

   // Output the data read
   printf_s( "String    = %s\n", s );
   printf_s( "Character = %c\n", c );
   printf_s( "Integer:  = %d\n", i );
   printf_s( "Real:     = %f\n", fp );
}
  

.NET Framework Eşdeğeri

Bkz: Parse yöntemleri gibi System::Double::Parse.

Ayrıca bkz.

Başvuru

G/ç

fscanf, _fscanf_l, fwscanf, _fwscanf_l

scanf, _scanf_l, wscanf, _wscanf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

_snprintf, _snprintf_l, _snwprintf, _snwprintf_l