gets_s, _getws_s
Wstawić wiersz, z stdin strumienia.Są to wersje pobiera, _getws z ulepszeń zabezpieczeń, zgodnie z opisem w Funkcje zabezpieczeń w CRT.
char *gets_s(
char *buffer,
size_t sizeInCharacters
);
wchar_t *_getws_s(
wchar_t *buffer,
size_t sizeInCharacters
);
template <size_t size>
char *gets_s(
char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws_s(
wchar_t (&buffer)[size]
); // C++ only
Parametry
[Brak]buffer
Miejsca przechowywania ciągu wejściowego.[in]sizeInCharacters
Rozmiar buforu.
Wartość zwracana
Zwraca buffer w przypadku powodzenia.A NULL wskaźnik wskazuje się warunku błędu lub końca pliku.Użycie ferror lub feof do określenia, który z nich wystąpił.
Uwagi
gets_s Funkcja czytający linię z Standardowy strumień wejściowy stdin i zapisuje go w buffer.Linia składa się z wszystkich znaków, łącznie z pierwszego znaku nowego wiersza (\n).gets_snastępnie zastępuje znak nowego wiersza znak null ('\0') przed ponownym wyświetleniem wiersza.Z drugiej strony fgets_s funkcja zachowuje znak nowego wiersza.
Jeśli pierwszy znak odczytać jest znak końca pliku, znak null jest przechowywany na początku buffer i NULL jest zwracany.
_getwsjest ona szerokich znaków do gets_s; jej argument i wartość zwracana są ciągami szerokich znaków.
Jeśli buffer jest NULL lub sizeInCharacters jest mniejsza lub równa zero, lub jeśli bufor jest zbyt mały, aby pomieścił wejścia liniowego i null terminator, tych funkcji Wywołaj funkcję obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcje te zwracają NULL i ustawić errno na ERANGE.
W języku C++ korzystając z tych funkcji jest uproszczony przez przeciążenia szablonu; przeciążenia mogą wywnioskować długość buforu automatycznie (eliminując konieczność, aby określić argument rozmiar) i starszych, które nie są bezpieczne funkcje mogą automatycznie zastąpić z ich odpowiednikami nowsze, bezpieczne.Aby uzyskać więcej informacji, zobacz Secure, szablon Overloads.
Tekst rodzajowy rutynowych mapowania
TCHAR.Rozpoczęto wykonywanie procedury h |
_UNICODE & _MBCS nie zdefiniowany |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_getts |
gets_s |
gets_s |
_getws |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
gets_s |
<stdio.h> |
_getws |
<stdio.h> lub <wchar.h> |
Konsola nie jest obsługiwana w Windows Store aplikacji.Związanych z konsolą, dojścia do strumienia standard stdin, stdout, i stderr, muszą być przeniesione, aby funkcje uruchomieniowej C mogą być użyte w Windows Store aplikacji.Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Przykład
// crt_gets_s.c
// This program retrieves a string from the stdin and
// prints the same string to the console.
#include <stdio.h>
int main( void )
{
char line[21]; // room for 20 chars + '\0'
gets_s( line, 20 );
printf( "The line entered was: %s\n", line );
}