Aracılığıyla paylaş


_cgets, _cgetws

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

Önemli

Bu işlevler eskidir. Visual Studio 2015'te başlayarak, bunlar CRT'de kullanılamaz. Bu işlevlerin _cgets_s ve _cgetws_s güvenli sürümleri hala kullanılabilir. Bu alternatif işlevler hakkında bilgi için, bkz. _cgets_s, _cgetws_s.

Ö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

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
Verilerin depolama konumu.

Dönüş değeri

_cgetsve _cgetws dizenin başlangıcına bir işaretçi döndürür.buffer[2] ise buffer NULL, 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 etmesi için izin verilirse, geri döner NULL ve olarak EINVALayarlanırerrno.

Açıklamalar

Bu işlevler konsolundan bir karakter dizesi okur ve dizeyi ve uzunluğunu ile bufferişaret ettiği konumda depolar. parametresi bir buffer karakter dizisinin işaretçisi olmalıdır. Dizinin ilk öğesi olan buffer[0], okunacak dizenin uzunluk üst sınırını (karakter cinsinden) içermelidir. Dizi, dizeyi tutmak için yeterli öğe, sonlandırıcı bir null karakter ('\0') ve 2 ek bayt içermelidir. İşlev, satır başı besleme (CR-LF) bileşimi veya belirtilen karakter sayısı okunana kadar karakterleri okur. Dize, konumundan buffer[2]başlayarak depolanır. İşlev bir CR-LF okursa null karakteri ('\0') depolar. İşlev daha sonra dizenin gerçek uzunluğunu ikinci dizi öğesinde buffer[1]depolar.

Konsol penceresindeyken veya _cgetws çağrıldığında _cgets tüm düzenleme tuşları etkin olduğundan, F3 tuşuna basıldığında son girilen giriş yinelenir.

C++ dilinde, bu işlevlerin daha yeni ve güvenli karşılıklarını çağıran şablon aşırı yüklemeleri vardır. Daha fazla bilgi için bkz . Güvenli şablon aşırı yüklemeleri.

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 _cgets _cgets _cgetws

Gereksinimler

Yordam Gerekli başlık
_cgets <conio.h>
_cgetws <conio.h> veya <wchar.h>

Daha fazla uyumluluk bilgisi 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 );
   }
}

      A line of input.Input line of text, followed by carriage return:
Line Length = 16
Text = A line of input.

Ayrıca bkz.

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