Udostępnij za pośrednictwem


_cgets_s, _cgetws_s

Pobiera ciąg znaków z konsoli.Te wersje _cgets i _cgetws mieć rozszerzenia zabezpieczeń opisane w Funkcje zabezpieczeń w CRT.

Ważna uwagaWażne

Ten interfejs API nie można używać w aplikacji, których wykonywanie w Środowisko wykonawcze systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW.

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

Parametry

  • [Brak]buffer
    Miejsca przechowywania danych.

  • [in]numberOfElements
    Rozmiar buforu w znaki jednobajtowe lub szerokie, który jest również maksymalną liczbę znaków do odczytu.

  • [in]pSizeRead
    Liczba znaków faktycznie odczytanych.

Wartość zwracana

Wartość zwracana jest wartość zero, jeśli kończy się pomyślnie; w przeciwnym razie błąd kodu, jeśli wystąpi awaria.

Warunki błędów

buffer

numberOfElements

pSizeRead

Zwrot

Zawartośćbuffer

NULL

wszelkie

wszelkie

EINVAL

n/d

nieNULL

zero

wszelkie

EINVAL

niemodyfikowane

nieNULL

wszelkie

NULL

EINVAL

ciąg znaków o zerowej długości

Uwagi

_cgets_si _cgetws_s czytać ciąg z konsoli i kopiować ciąg znaków (ze znakiem null) w buffer._cgetws_sjest to wersja znak dwubajtowy funkcji; inne niż rozmiar znaków zachowanie tych dwóch funkcji jest identyczne.Maksymalny rozmiar ciągu do odczytu jest przekazywana jako numberOfElements parametru.Rozmiar ten powinien zawierać nadmiarowe znaki na zakończenie wartości null.Rzeczywista liczba znaków odczytać jest umieszczana w pSizeRead.

Jeżeli błąd wystąpi podczas operacji lub przy sprawdzaniu poprawności parametrów, program obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru .Jeśli wykonanie może kontynuować, errno jest ustawiona na EINVAL i EINVAL jest zwracany.

W języku C++ korzystanie z tych funkcji jest uproszczony przez przeciążenia szablonu; przeciążenia mogą wywnioskować długość buforu automatycznie, a tym samym, co eliminuje konieczność określono argument rozmiar, a funkcje starszych, niższym poziomie zabezpieczenia mogą automatycznie zastąpić z ich odpowiednikami nowych, bardziej bezpieczne.Aby uzyskać więcej informacji, zobacz Przeciążenia bezpiecznych szablonów.

Tekst rodzajowy rutynowych mapowania

Rozpoczęto wykonywanie procedury TCHAR.h

_UNICODE i _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_cgetts_s

_cgets_s

_cgets_s

_cgetws_s

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_cgets_s

<conio.h>

_cgetws_s

<conio.h> lub <wchar.h>

Informacji dotyczących zgodności, zobacz Zgodność.

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywoływać funkcji C standardowej, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołań platformy.

Zobacz też

Informacje

Operacje We/Wy konsoli i portu

_getch, _getwch