Аппаратное обеспечение персонального компьютера

       

Функция gets


Существует и более удобная по сравнению с cgets функция, предназначенная для ввода строки с клавиатуры, а точнее, из стандартного потока ввода. Это функция gets:

char *gets(char *buffer);

Функция gets описана в файле stdio.h.

Эта функция читает строку из стандартного потока ввода stdin и запоминает ее в буфере buffer. Символ новой строки \n в конце введенной строки функция заменяет на нуль. После завершения ввода функция возвращает указатель на заполненный буфер или NULL в случае ошибки или условия "Конец файла".

Обратим ваше внимание на отличия между функциями cgets и gets:

  • Функция cgets позволяет редактировать вводимую строку символов, функция gets просто записывает в буфер все символы подряд (в том числе и коды клавиш редактирования).
  • Программе, использующей для ввода с клавиатуры функцию cgets, недоступны средства переназначения ввода операционной системы. Если же программа использует функцию gets, которая читает строку из стандартного потока ввода, можно использовать средства переназначения.
  • Перед вызовом функции cgets необходимо специальным образом подготовить буфер для вводимой строки (записать в первый байт буфера длину вводимой строки). Функция gets не требует никакой подготовки буфера.


  • Содержание раздела