gets_s, _getws_s
stdin akışından bir hat alır.Bu sürümleri alır, _getws açıklandığı gibi güvenlik geliştirmeleri, sahip CRT'deki Güvenlik Özellikleri.
char *gets_s(
char *buffer,
size_t sizeInCharacters
);
wchar_t *_getws_s(
wchar_t *buffer,
size_t sizeInCharacters
);
template <size_t size>
char *gets_s(
char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws_s(
wchar_t (&buffer)[size]
); // C++ only
Parametreler
[out] buffer
Girdi dizesi için depolama konumu.[in] sizeInCharacters
Arabellek boyutu.
Dönüş Değeri
Başarılıysa buffer döndürür.NULL işaretçisi hata veya dosya sonu koşulunu gösterir.Hangisinin gerçekleştiğini belirlemek için, ferror veya feof kullanın.
Notlar
gets_s işlevi standart giriş akışı stdin üzerinden bir satır okur ve buffer içerisine saklar.Satır, ilk yeni satır karakteri ("\n") dahil olmak üzere bu karaktere kadar tüm karakterleri içermektedir.gets_s daha sonra, satırı döndürmeden önce yeni satır karakterini bir sıfır karakteri ('\0') ile değiştirir.Buna karşılık, fgets_s işlevi yeni satır karakterini korur.
Okuyun ilk karakteri dosya sonu karakteri ise, bir null karakteri başında depolanan buffer ve NULL döndürülür.
_getwsgets_s öğesinin geniş karakterli bir sürümüdür; bağımsız değişkeni ve dönüş değeri geniş karakterli dizelerdir.
Varsa buffer olan NULL veya sizeInCharacters eşit veya sıfırdan azsa veya arabellek giriş hattı ve null Sonlandırıcı içeremeyecek kadar küçük ise, bu işlevler bir geçersiz parametre işleyicisi açıklandığı biçimde harekete Parametre Doğrulama.Yürütmenin devam etmesine izin verilirse, bu işlevler NULL döndürür ve errno öğesini ERANGE olarak ayarlar.
C++ dilinde bu işlevleri kullanmak şablon aşırı yüklemeleriyle basitleştirilmiştir; aşırı yüklemeler arabellek uzunluğunu otomatik olarak çıkarabilir (bir boyut bağımsız değişkeni belirtme gereksinimi ortadan kalkar) ve bunlar otomatik olarak eski ve güvenli olmayan işlevlerle daha yeni ve güvenli karşılıklarını değiştirir.Daha fazla bilgi için bkz. Güvenli Şablon Aşırı Yüklemeleri.
Genel Metin Yordam Eşleşmeleri
TCHAR.H yordamı |
_UNICODE & _MBCS tanımlanmamış |
_MBCS tanımlanmış |
_UNICODE tanımlanmış |
---|---|---|---|
_getts |
gets_s |
gets_s |
_getws |
Gereksinimler
Yordam |
Gerekli başlık |
---|---|
gets_s |
<stdio.h> |
_getws |
<stdio.h> or <wchar.h> |
Konsol Windows Mağazası uygulamalarında desteklenmiyor.stdin, stdout ve stderr konsolları ile ilişkili standart akış işleyicileri, C çalışma zamanı işlevleri bunları Windows Mağazası uygulamalarında kullanmadan önce yeniden yönlendirilmelidir.Ek uyumluluk bilgileri için bkz. Uyumluluk.
Örnek
// crt_gets_s.c
// This program retrieves a string from the stdin and
// prints the same string to the console.
#include <stdio.h>
int main( void )
{
char line[21]; // room for 20 chars + '\0'
gets_s( line, 20 );
printf( "The line entered was: %s\n", line );
}