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.
Wichtig |
---|
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.
Sicherheitshinweis |
---|
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.