RAD Studio
ContentsIndex
PreviousUpNext
cgets

Header File 

conio.h 

Category 

Console I/O Routines 

Prototype 

char *cgets(char *str); 

Description 

Reads a string from the console. 

cgets reads a string of characters from the console, storing the string (and the string length) in the location pointed to by str. 

cgets reads characters until it encounters a carriage-return/linefeed (CR/LF) combination, or until the maximum allowable number of characters have been read. If cgets reads a CR/LF combination, it replaces the combination with a \0 (null terminator) before storing the string. 

Before cgets is called, set str[0] to the maximum length of the string to be read. On return, str[1] is set to the number of characters actually read. The characters read start at str[2] and end with a null terminator. Thus, str must be at least str[0] plus 2 bytes long.

Note: Do not use this function for Win32 GUI applications.
Return Value 

On success, cgets returns a pointer to str[2]. 

Example  

 #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;
 }

Portability

POSIX 
Win32 
ANSI C 
ANSI C++ 
 
 
 
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!