Syntax
#include <conio.h> char *_cgets(char *str);Description
_cgets continues to read characters until it meets a carriage return followed by a line feed (CR-LF) or until it reads the specified number of characters. It stores the string starting at str[2]. If _cgets reads a CR-LF combination, it replaces this combination with a null character ('\0') before storing the string. _cgets then stores the actual length of the string in the second array element, str[1].
The str variable must be a pointer to a character array. The first element of the array, str[0], must contain the maximum length, in characters, of the string to be read. The array must have enough elements to hold the string, a final null character, and 2 additional bytes.
If successful, _cgets returns a pointer to the actual start of the string, str[2]. Otherwise, _cgets returns NULL.
This example creates a buffer and initializes the first byte to the size of the buffer. The program then accepts an input string using _cgets and displays the size and text of that string.
#include <conio.h>
#include <stdio.h>
void nothing(void)
{
}
int main(void)
{
   char buffer[82] =  { 84,0 };
   char *buffer2;
   int i;
   _cputs("\nPress any key to continue.");
   printf("\n");
   while (0 == _kbhit()) {
      nothing();
   }
   _getch();
   _cputs("\nEnter a line of text:");
   printf("\n");
   buffer2 = _cgets(buffer);
   printf("\nText entered was: %s", buffer2);
   return 0;
   /****************************************************************************
      The output should be similar to:
      Press any key to continue.
      Enter a line of text:
      This is a simple test.
      Text entered was: This is a simple test.
   ****************************************************************************/
}
Related Information