Freigeben über


gets_s, _getws_s

Rufen Sie eine Zeile aus dem stdin Stream ab.Diese sind Versionen von ruft, _getws ab mit Sicherheitserweiterungen, wie in Sicherheitsfeatures im CRT beschrieben.

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

Parameter

  • [out] buffer
    Speicherort für Eingabezeichenfolge.

  • [in] sizeInCharacters
    Die Größe des Puffers.

Rückgabewert

Wenn die Ausführung erfolgreich ist, wird buffer zurückgegeben.Ein Zeiger NULL gibt einen Fehler oder eine Dateiende-Bedingung an.Verwenden Sie ferror oder feof, um zu bestimmen, welches aufgetreten ist.

Hinweise

Die gets_s-Funktion liest eine Zeile im Standardeingabestream stdin und speichert sie in buffer.Die Zeile besteht aus allen Zeichen bis einschließlich dem ersten Zeilenumbruchzeichen ("\n ").gets_s ersetzt dann das Zeilenumbruchzeichen durch ein NULL-Zeichen ("\0 ") bevor die Zeile zurückgibt.Im Gegensatz dazu wird die fgets_s-Funktion das Zeilenumbruchzeichen bei.

Wenn das erste Zeichenlesen das Dateiendezeichen ist, wird ein NULL-Zeichen am Anfang buffer gespeichert und NULL wird zurückgegeben.

_getws ist eine Breitzeichen-Version von gets_s; Argument und Rückgabewert sind Breitzeichen-Zeichenfolgen.

Wenn bufferNULL ist, oder sizeInCharacters kleiner oder gleich null ist oder wenn der Puffer zu klein ist, die Eingabezeile und das NULL-Zeichen enthalten soll, rufen diese Funktionen einen ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, geben diese Funktionen NULL zurück und legen errno auf ERANGE fest.

In C++ mithilfe dieser Funktionen wird durch Vorlagenüberladungen vereinfacht; die Überladungen können die Pufferlänge (die Anforderung automatisch beseitigend ableiten, ein Größenargument anzugeben) und können die älteren, nicht-sicheren Funktionen durch ihre späteren, sicheren Entsprechungen automatisch ersetzen.Weitere Informationen finden Sie unter Speichern Sie Vorlagen-Überladungen.

Zuordnung generische Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert.

_MBCS definiert

_UNICODE definiert

_getts

gets_s

gets_s

_getws

Anforderungen

Routine

Erforderlicher Header

gets_s

<stdio.h>

_getws

<stdio.h> oder <wchar.h>

Die Konsole wird nicht in Windows Store-App unterstützt.Die Standardstreamhandles, die mit der Konsole, stdin, stdout und stderr zugeordnet werden, müssen umgeleitet werden, bevor sie C-Laufzeitfunktionen in Windows Store-App verwenden können.So zusätzlicher Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.

Beispiel

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

.NET Framework-Entsprechung

System::Console::Read

Siehe auch

Referenz

Stream E/A

ruft, _getws ab

fgets, fgetws

fputs, fputws

wird, _putws