cgets

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Conio.h - Index


Header-Datei

conio.h

Kategorie

Konsolen-Ein-/Ausgaberoutinen

Prototyp

char *cgets(char *str);

Beschreibung

Liest einen String von der Konsole.

cgets liest einen String von Zeichen von der Konsole und speichert den String (sowie die String-Länge) an dem Speicherort, auf den str zeigt.

cgets liest solange Zeichen ein, bis die Zeichenkombination Wagenrücklauf/Zeilenvorschub (CR/LF) auftritt oder die maximal zulässige Anzahl von Zeichen eingelesen wurde. Beim Einlesen ersetzt cgets die CR/LF-Kombination durch die Zeichenkombination \0 (Nullterminator), bevor der String gespeichert wird.

Weisen Sie str[0] vor dem Aufruf von cgets die maximale Länge des einzulesenden Strings zu. Nach Abschluss der Leseoperation wird str[1] die Anzahl der tatsächlich gelesenen Zeichen zugewiesen. Der Lesevorgang beginnt mit dem Zeichen an der Position str[2] und endet mit dem Nullterminator. Folglich muss str mindestens str[0] plus 2 Byte lang sein.

Hinweis: Verwenden Sie diese Funktion auf keinen Fall in Win32-GUI-Anwendungen.

Rückgabewert

Nach erfolgreicher Ausführung gibt cgets einen Zeiger auf str[2] zurück.

Beispiel

  #include <stdio.h>
  #include <conio.h>
  int main(void)
  {
     char buffer[83];
     char *p;
     /* There is space for 80 characters plus the NULL terminator */
     buffer[0] = 81;
     printf("Input some chars:");
     p = cgets(buffer);
     printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p);
     printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer);
     /* Leave room for 5 characters plus the NULL terminator */
     buffer[0] = 6;
     printf("Input some chars:");
     p = cgets(buffer);
     printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p);
     printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer);
     return 0;
  }

Portabilität

POSIX Win32 ANSI C ANSI C++

+