Share via


_cgets, _cgetws

Ruft eine Zeichenfolge aus der Konsole ab.Sicherere Versionen dieser Funktionen sind verfügbar; finden Sie unter _cgets_s, _cgetws_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 *_cgets( char *buffer ); wchar_t *_cgetws( wchar_t *buffer ); template <size_t size> char *_cgets( char (&buffer)[size] ); // C++ only template <size_t size> wchar_t *_cgetws( wchar_t (&buffer)[size] ); // C++ only

Parameter

  • buffer
    Speicherort für Daten.

Rückgabewert

_cgets und _cgetws geben einen Zeiger auf den Anfang der Zeichenfolge, bei buffer[2] zurück.Wenn bufferNULL ist, rufen diese Funktionen den ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, geben sie NULL und Menge errno zu EINVAL zurück.

Hinweise

Diese Funktionen lesen eine Zeichenfolge von der Konsole und speichern die Zeichenfolge und die Länge im Speicherort, der auf durch buffer gezeigt wurde.Der buffer-Parameter muss ein Zeiger auf ein Zeichenarray sein.Das erste Element des Arrays, buffer[0], muss die maximale Länge (in Zeichen) der gelesen werden Zeichenfolge enthalten.Das Array muss genügend Elemente enthalten, um die Zeichenfolge, ein NULL ("\0 ") und 2 zusätzliche Bytes enthält.Die Funktion liest Zeichen bis eine Kombination aus Wagenrücklauf-Zeilenvorschubs (CR-LF), oder die angegebene Anzahl von Zeichen wird gelesen.Die Zeichenfolge ist gespeichertes Starten bei buffer[2].Wenn die Funktion ein CR-LF liest, speichert sie das NULL-Zeichen ("\0 ").Die Funktion speichert dann die tatsächliche Länge der Zeichenfolge im zweiten Arrayelement, buffer[1].

Da alle Schlüssel aktiv sind, wenn _cgets oder _cgetws während in einem Konsolenfenster aufgerufen wird und die F3-Taste drückt, überprüft den letzten eingegebenen Eintrag.

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 und _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_cgetts

_cgets

_cgets

_cgetws

Anforderungen

Routine

Erforderlicher Header

_cgets

<conio.h>

_cgetws

<conio.h> oder <wchar.h>

Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.

Beispiel

// crt_cgets.c
// compile with: /c /W3
// This program creates a buffer and initializes
// the first byte to the size of the buffer. Next, the
// program accepts an input string using _cgets and displays
// the size and text of that string.
 
#include <conio.h>
#include <stdio.h>
#include <errno.h>

int main( void )
{
   char buffer[83] = { 80 };  // Maximum characters in 1st byte
   char *result;

   printf( "Input line of text, followed by carriage return:\n");

   // Input a line of text:
   result = _cgets( buffer ); // C4996
   // Note: _cgets is deprecated; consider using _cgets_s
   if (!result)
   {
      printf( "An error occurred reading from the console:"
              " error code %d\n", errno);
   }
   else
   {   
      printf( "\nLine length = %d\nText = %s\n",
              buffer[1], result );
   }
}
  

Siehe auch

Referenz

Konsole und Port E/A

_getch, _getwch