_cgets, _cgetws

Konsoldan bir karakter dizesi alır.Bu işlevlerin daha güvenli sürümleri mevcuttur; bkz. _cgets_s, _cgetws_s.

Önemli notÖnemli

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

char *_cgets( 
   char *buffer 
);
wchar_t *_cgetws(
   wchar_t *buffer
);
template <size_t size>
char *_cgets( 
   char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_cgetws(
   wchar_t (&buffer)[size]
); // C++ only

Parametreler

  • buffer
    Veri için depolama konumu

Dönüş Değeri

_cgets ve _cgetws, buffer[2] öğesinde başlangıç dizesine bir işaretçi döndürür.buffer öğesi NULL ise, bu işlevler Parametre Doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırır.Yürütmenin devam etmesine izin verilirse, bunlar NULL döndürür ve errno öğesini EINVAL olarak ayarlar.

Notlar

Bu işlevler, konsoldan bir karakter dizesini okur ve dizeyi ve uzunluğunu buffer ile gösterilen konuma kaydeder.buffer parametresi, bir karakter dizisine bir işaretçi olmalıdır.Dizinin ilk öğesi buffer[0], okunacak olan dizenin maksimum uzunluğunu (karakter olarak) içermelidir.Dizide dizeyi tutmak için yeterli sayıda öğe, sonlandırıcı bir null karakteri ('\0') ve 2 ek bayt olması gerekir.İşlev bir satır başı besleme (CR-LF) birleşimi veya belirli bir karakter sayısı okunana kadar karakterleri okur.Dize, buffer[2]'dan başlayarak depolanıyor.İşlev CR-LF yazıyorsa null karakteri ('\0') depolar.Ardından işlev ikinci dizi öğesi buffer[1] 'ı içerisindeki dizinin gerçek uzunluğunu saklar.

_cgets veya _cgetws bir konsol penceresindeyken çağırıldığında tüm düzenleme tuşları etkin olduğu için, F3 tuşuna basılması en son girilen girdiyi yineler.

C++ dilinde, bu işlevlerin daha yeni ve güvenli karşıtlarını başlatan şablon aşırı yüklemeleri vardır.Daha fazla bilgi için bkz. Güvenli Şablon Aşırı Yüklemeleri.

Genel Metin Yordam Eşleşmeleri

Tchar.h yordamı

_UNICODE ve _MBCS tanımlanmaz

_MBCS tanımlanmış

_UNICODE tanımlanmış

_cgetts

_cgets

_cgets

_cgetws

Gereksinimler

Yordam

Gerekli başlık

_cgets

<conio.h>

_cgetws

<conio.h> veya <wchar.h>

Daha fazla ek uyumluluk bilgileri için bkz. Uyumluluk.

Örnek

// crt_cgets.c
// compile with: /c /W3
// This program creates a buffer and initializes
// the first byte to the size of the buffer. Next, the
// program accepts an input string using _cgets and displays
// the size and text of that string.
 
#include <conio.h>
#include <stdio.h>
#include <errno.h>

int main( void )
{
   char buffer[83] = { 80 };  // Maximum characters in 1st byte
   char *result;

   printf( "Input line of text, followed by carriage return:\n");

   // Input a line of text:
   result = _cgets( buffer ); // C4996
   // Note: _cgets is deprecated; consider using _cgets_s
   if (!result)
   {
      printf( "An error occurred reading from the console:"
              " error code %d\n", errno);
   }
   else
   {   
      printf( "\nLine length = %d\nText = %s\n",
              buffer[1], result );
   }
}
  

Ayrıca bkz.

Başvuru

Konsol ve Bağlantı Noktası G/Ç

_getch, _getwch