Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Konsoldan bir karakter dizesi alır. ve sürümlerinin _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 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.