Функция gets

Прототип функции gets:

char * gets( char * string );

Заголовочный файл

Название Язык
stdio.h С
cstdio С++

Описание

Получить строку из стандартного потока ввода. Функция gets считывает символы из стандартного потока ввода до символа новой строки n или до тех пор, пока не будет достигнут конец файла EOF, после чего сохраняет считанные символы в строку типа char.

Символ новой строки n не копируется в строку.

Нулевой символ  автоматически добавляется после последнего копируемого символа в string, чтобы сигнализировать о конце строки.

Обратите внимание, что функция gets несколько отличается от функции fgets, во-первых возвращает строку из стандартного потока ввода в качестве аргумента, а, во-вторых, конечный символ новой строки не входит в её состав . в отличие от fgets. А ещё, gets не позволяет установить ограничение на количество считываемых символов, поэтому нужно быть осторожными с размером массива, на который указывает параметр str, чтобы избежать переполнения буфера.

Параметры:

  • string
    Указатель на массив типа char, в котором сохраняется строка.

Возвращаемое значение

В случае успеха, функция возвращает тот же параметр, string.  Если происходит ошибка, возвращается нулевой указатель.
Используйте функции ferror или feof для проверки внутренних состояний показателей ошибки или конца файла — EOF.

Пример: исходный код программы

//пример использования функции gets
#include <iostream>
#include <cstdio>

int main()
{
  char string [256];
  std::cout << "Введите свой полный адрес: ";
  gets(string); // считать строку из стандартного потока ввода
  std::cout << "Ваш адрес: " << string;
  return 0;
}

Пример работы программы

CppStudio.com
Введите свой полный адрес: 3-я улица строителей д 25
Ваш адрес: 3-я улица строителей д 25
Автор: Marienko L.
Дата: 15.09.2012
Поделиться:

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.