cgets() Get a Character String from the Console
#include <conio.h> Required for declarations only
char *cgets(string);
char *string; Storage location for data
cgets() reads a string from the console and stores it in 'string';
'string' must be a pointer to a character array. Before calling,
'string[0]' should be set to the length (in bytes) of the storage
space available for the string. Upon return, 'string[1]' will contain
the actual length of the string. The string is stored starting at
'string[2]'.
cgets() reads characters until a carriage-return-line-feed is read,
or the maximum number of characters (as specified at string[0]) have
been read. If a (CR-LF) character is read, it is replaced with a null
character ('\0') before being stored.
Returns: A pointer to the start of the string at string[2]. There
is no error return.
Notes: If string[0] is not set by the user to the maximum number
of characters allowed, the routine reads 0 characters
from the console and returns. The length of the string
stored at string[0] should account for the terminating
null byte, plus the two extra bytes at string[0] and
string[1].
-------------------------------- Example ---------------------------------
The following statements prompt the user for input, then print out
the string entered and its length.
#include <conio.h>
#include <stdio.h> /* for printf */
char buffer[100]; /* Can hold 97 chars plus a newline */
char *name;
int numread;
main()
{
*buffer = 98;
printf("Enter your name: ");
name = cgets(buffer);
printf("\nName entered: %s \n",name);
printf("# of chars read: %d\n",buffer[1]);
/* Number read does not include carriage return,*/
/* which was replaced by a null byte. */
}
Seealso:
This page last updated on Fri Nov 30 10:48:32 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster