_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 depolama konumu.
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 buffer
kopyalayı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 pSizeRead
yerleş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 EINVAL
ve 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.