Aracılığıyla paylaş


_cgets_s, _cgetws_s

Konsoldan bir karakter dizesi alır. ve sürümlerinin _cgets_cgetws, CRT'deki Güvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri vardır.

Önemli

Bu API, Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.

Sözdizimi

errno_t _cgets_s(
   char *buffer,
   size_t numberOfElements,
   size_t *pSizeRead
);
errno_t _cgetws_s(
   wchar_t *buffer
   size_t numberOfElements,
   size_t *pSizeRead
);
template <size_t size>
errno_t _cgets_s(
   char (&buffer)[size],
   size_t *pSizeRead
); // C++ only
template <size_t size>
errno_t _cgetws_s(
   wchar_t (&buffer)[size],
   size_t *pSizeRead
); // C++ only

Parametreler

buffer
Verilerin konumunu Depolama.

numberOfElements
Arabelleğin tek baytlı veya geniş karakter cinsinden boyutudur ve bu da okunacak en fazla karakter sayısıdır.

pSizeRead
Aslında okunan karakter sayısı.

Dönüş değeri

Başarılı olursa dönüş değeri sıfırdır; aksi takdirde, bir hata oluşursa hata kodu.

Hata koşulları

buffer numberOfElements pSizeRead İade İçeriği buffer
NULL herhangi bir herhangi bir EINVAL yok
Değil NULL sıfır herhangi bir EINVAL değiştirilmedi
Değil NULL herhangi bir NULL EINVAL sıfır uzunluklu dize

Açıklamalar

_cgets_s ve _cgetws_s konsolundan bir dize okuyup dizeyi (null sonlandırıcı ile) içine bufferkopyalayın. _cgetws_s işlevin geniş karakter sürümüdür; karakter boyutu dışında, bu iki işlevin davranışı aynıdır. Okunacak dizenin en büyük boyutu parametresi olarak numberOfElements geçirilir. Bu boyut, sonlandırıcı null için ek bir karakter içermelidir. Okunan gerçek karakter sayısı içine pSizeReadyerleştirilir.

İşlem sırasında veya parametrelerin doğrulanması sırasında bir hata oluşursa, Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, errno olarak ayarlanır EINVALve EINVAL döndürülür.

C++'ta bu işlevlerin kullanımı şablon aşırı yüklemeleriyle basitleştirilir. Aşırı yüklemeler arabellek uzunluğunu otomatik olarak çıkararak boyut bağımsız değişkeni belirtme gereksinimini ortadan kaldırır. Ayrıca eski, daha az güvenli işlevleri daha yeni ve daha güvenli karşılıklarıyla otomatik olarak değiştirebilirler. Daha fazla bilgi için bkz . Güvenli şablon aşırı yüklemeleri.

Bu işlevlerin hata ayıklama kitaplığı sürümleri önce arabelleği 0xFE ile doldurur. Bu davranışı devre dışı bırakmak için kullanın _CrtSetDebugFillThreshold.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemeleri

Tchar.h yordamı _UNICODE ve _MBCS tanımlanmadı _MBCS Tanımlanan _UNICODE Tanımlanan
_cgetts_s _cgets_s _cgets_s _cgetws_s

Gereksinimler

Yordam Gerekli başlık
_cgets_s <conio.h>
_cgetws_s <conio.h> veya <wchar.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ayrıca bkz.

Konsol ve bağlantı noktası G/Ç
_getch, _getwch