Freigeben über


ruft, _getws ab

Rufen Sie eine Zeile aus dem stdin Stream ab.Sicherere Versionen dieser Funktionen sind verfügbar; finden Sie unter gets_s, _getws_s.

Wichtiger HinweisWichtig

Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW.

char *gets( char *buffer ); wchar_t *_getws( wchar_t *buffer ); template <size_t size> char *gets( char (&buffer)[size] ); // C++ only template <size_t size> wchar_t *_getws( wchar_t (&buffer)[size] ); // C++ only

Parameter

  • buffer
    Speicherort für Eingabezeichenfolge.

Rückgabewert

Gibt zurück, wenn das Argument erfolgreich.Ein Zeiger NULL gibt einen Fehler oder eine Dateiende-Bedingung an.Verwenden Sie ferror oder feof, um zu bestimmen, welches aufgetreten ist.Wenn bufferNULL ist, 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 EINVAL fest.

Hinweise

Die gets-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 ersetzt dann das Zeilenumbruchzeichen durch ein NULL-Zeichen ("\0 ") bevor die Zeile zurückgibt.Im Gegensatz dazu wird die fgets-Funktion das Zeilenumbruchzeichen bei._getws ist eine Breitzeichen-Version von gets; Argument und Rückgabewert sind Breitzeichen-Zeichenfolgen.

SicherheitshinweisSicherheitshinweis

Da es keine Möglichkeit gibt, einzuschränken, kann die Anzahl von Zeichen, die Lesen von, nicht vertrauenswürdige Eingabe abruft, Pufferüberläufe kommen.Verwenden Sie stattdessen fgets.

In C++ sind diese Funktionen Vorlagenüberladungen, die aufrufen, das später, speichern Entsprechungen dieser Funktionen.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

gets

_getws

Anforderungen

Routine

Erforderlicher Header

gets

<stdio.h>

_getws

<stdio.h> oder <wchar.h>

So zusätzlicher Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.

Beispiel

// crt_gets.c
// compile with: /WX /W3

#include <stdio.h>

int main( void )
{
   char line[21]; // room for 20 chars + '\0'
   gets( line );  // C4996
   // Danger: No way to limit input to 20 chars.
   // Consider using gets_s instead.
   printf( "The line entered was: %s\n", line );
}

Beachten Sie, dass Benutzereingaben länger als 20 Zeichen den Zeilenpuffer überläuft und fast durch das Programm Absturz verursacht.

  

.NET Framework-Entsprechung

System::Console::Read

Siehe auch

Referenz

Stream E/A

fgets, fgetws

fputs, fputws

wird, _putws