_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ż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.