Функция gets() вводит входную строку из потокаstdin. При этом символ новой строки отбрасывается, а введенные символы дополняются в конце нулевым символом (символом '\0'). Необходимо позаботиться, чтобы принимающий массив символов был достаточно большим для размещения наибольшей возможной строки. Функция возвращает NULL по концу файла, если символов для чтения нет.
В отличии от функции scanf(), использующей спецификатор %s, функция gets() читает полную строку, включая символы пробела и табуляцию.
Функция puts()выводит заканчивающуюся нулевым символом строку символов в поток stdout. При этом вместо нулевого символа выводится символ новой строки.
#include <stdio.h>
#define LINELEN 256
int main()
{
char name[LINELEN+1];
printf("Введите полное имя:");
if (gets(name) == NULL)
printf("Ошибка\n");
else
puts(name);
}
Вывод программы:
Введите полное имя:Иванов Петр Васильевич
Иванов Петр Васильевич