Gets какая библиотека
Получает строку из потока байтов stdin.
Синтаксис
char *gets( char *buffer ); wchar_t *_getws( wchar_t *buffer );
Параметр
buffer
Резервирует место для вводимой строки.
Возвращаемое значение
Возвращает свой параметр в случае успешного завершения. Пустой указатель обозначает условие метки конца файла или ошибку. Используйте функцию ferror или feof, чтобы решить, что имело место.
Замечания
Функция gets читает строку из стандартного потока ввода данных stdin и хранит её в буфере. Строка состоит из всех символов от и до и включает в себя первый символ новой строки (‘\n’). Затем функция заменяет символ новой строки нулевым (пустым) символом (‘\0’) перед тем, как возвратить строку. Напротив, функция fgets сохраняет символ новой строки. _getws — широкосимвольная версия функции gets; её параметры и возвращаемое значение — широкосимвольные строки.
| Замечание по безопасности. Поскольку нет никакого способа ограничить число символов, прочитанных функцией gets, неподтвержденные вводимые данные могут легко вызвать переполнение буфера. Используйте функцию fgets вместо функции gets. |
Унифицированно-текстовые стандартные отображения
Стандартный TCHAR.H
_UNICODE & _MBCS не определен
_MBCS определен
_UNICODE определен
Смотри также
Потоковые процедуры ввода — вывода (I/O) | fgets | fputs | puts | Процедуры периода выполнения программы и эквиваленты .NET Framework
Требования
Процедура
Требуется заголовочный файл
Совместимость
Дополнительную информацию о совместимости, см. в статье Совместимость во Вводной части.
Библиотеки
Все версии библиотек программ этапа выполнения языка C.
Пример
// crt_gets.c #include int main( void ) char line[21]; // участок памяти для 20 символов + '\0' gets( line ); // Опасно: Нет способа ограничить ввод данных до 20 символов. // Гораздо предпочтительнее: fgets( line, 21, stdin ); // но вы должны будете исключить перемещение '\n' printf( "The line entered was: %s\n", line ); >
Вводимые данные
Hello there!
Выводимые данные
The line entered was: Hello there!
| Обратите внимание! на то, что вводимые данные больше чем 20 символов переполняет буфер строки и почти наверняка заставит программу прийти к фатальному сбою. |
Функция gets
Получить строку из стандартного потока ввода. Функция gets считывает символы из стандартного потока ввода до символа новой строки n или до тех пор, пока не будет достигнут конец файла EOF , после чего сохраняет считанные символы в строку типа char .
Символ новой строки n не копируется в строку.
Нулевой символ