Aracılığıyla paylaş


_snscanf, _snscanf_l, _snwscanf, _snwscanf_l

Okuma, verilerin belirli bir uzunlukta bir dizeden biçimlendirilmiş.Bu işlevler daha güvenli sürümlerinin kullanılabilir olduğunu; see _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l.

int __cdecl _snscanf(
   const char * input,
   size_t length,
   const char * format,
   ...
);
int __cdecl _snscanf_l(
   const char * input,
   size_t length,
   const char * format,
   locale_t locale,
   ...
);
int __cdecl _snwscanf(
   const wchar_t * input,
   size_t length,
   const wchar_t * format,
   ...
);
int __cdecl _snwscanf_l(
   const wchar_t * input,
   size_t length,
   const wchar_t * format,
   locale_t locale,
   ...
);

Parametreler

  • input
    İncelemek için Giriş dizesi.

  • length
    İçinde incelemek için karakter sayısı input.

  • format
    Bir veya daha fazla biçim belirteçleri.

  • ... (optional)
    İçinde biçim belirticileri tarafından giriş dizeden ayıkladığınız değerlerini depolamak için kullanılacak değişkenleri format.

  • locale
    Kullanılacak yerel ayarı.

Dönüş Değeri

Bu işlevlerin hem de başarılı bir şekilde 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.Daha fazla bilgi için bkz: sscanf.

input Veya format olan bir NULL işaretçisi, veya length küçük veya eşit olduğu sıfır olarak 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.

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

Notlar

Bu işlev bir duygu olduğunu sscanf dışında sabit bir giriş dizeden incelemek için karakter sayısını belirtme olanağı sağlar.Daha fazla bilgi için bkz: sscanf.

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 ve _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_sntscanf

_snscanf

_snscanf

_snwscanf

_sntscanf_l

_snscanf_l

_snscanf_l

_snwscanf_l

Gereksinimler

Yordamı

Gerekli başlık

_snscanf, _snscanf_l

<stdio.h>

_snwscanf, _snwscanf_l

<stdio.h> veya <wchar.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// crt_snscanf.c
// compile with: /W3

#include <stdio.h>
int main( )
{
   char  str1[] = "15 12 14...";
   wchar_t  str2[] = L"15 12 14...";
   char  s1[3];
   wchar_t  s2[3];
   int   i;
   float fp;

   i = _snscanf( str1, 6,  "%s %f", s1, &fp); // C4996
   // Note: _snscanf is deprecated; consider using _snscanf_s instead
   printf("_snscanf converted %d fields: ", i);
   printf("%s and %f\n", s1, fp);

   i = _snwscanf( str2, 6,  L"%s %f", s2, &fp); // C4996
   // Note: _snwscanf is deprecated; consider using _snwscanf_s instead
   wprintf(L"_snwscanf converted %d fields: ", i);
   wprintf(L"%s and %f\n", s2, fp);
}
  

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

scanf genişlik belirtimi