Udostępnij za pośrednictwem


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 );
}
  

Odpowiednik w programie .NET Framework

System::Console::Read

Zobacz też

Informacje

Strumień we/wy

gets, _getws

fgets, fgetws

fputs, fputws

puts, _putws