Форум программистов, компьютерный форум, киберфорум
Наши страницы

Проблемка с функцией gets(). Подскажите - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача "Работа со строками" http://www.cyberforum.ru/cpp-beginners/thread616073.html
Вывести различные русские буквы трех предложений (то есть такие,какие есть только в одном из них)
C++ Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные. Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные. http://www.cyberforum.ru/cpp-beginners/thread616055.html
C++ Построить график зависимости
Помогите написать программу на С++ .Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела от плотности материала данного тела, если это пирамида...
Запустить функцию с именем из переменной C++
Всем доброго времени суток! Можно ли вызвать функцию, имя которой написано в переменной? Например, в ЯП AutoIt такая возможность есть (выглядит так: Execute("func_name(params)")). Делаю класс...
C++ Задачка на высокосный год http://www.cyberforum.ru/cpp-beginners/thread616046.html
Дана структура, задающая дату вида: Struct date {int day; int month; int year;}; Пользуясь таким структурным типом, составить программу, определяющую: дату, которая наcтупит через m дней; ...
C++ Дан массив (codeblocks10.04) Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5. Не надо заводить ни каких вспомогательных массивов (в том числе и в своих функциях).есть ошибка которую... подробнее

Показать сообщение отдельно
programm1r
46 / 45 / 1
Регистрация: 19.06.2012
Сообщений: 134
28.06.2012, 23:20
Программист должен знать максимум числа символов, которые должны быть считаны gets, чтобы удостовериться, что выделяется буфер достаточного размера. Подобное невозможно без информации о данных. Эта проблема может приводить к созданию ошибок и открывает простор для нарушений компьютерной безопасности при помощи переполнения буфера. Многие источники советуют программистам никогда не использовать gets в новых программах.

Применение gets весьма осуждается. Функция оставлена в стандартах C89 и C99 для обратной совместимости.

Попробуйте не смешивать ввод/вывод из stdio и iostream. По крайней мере при закомментированной строчке с вводом q, метод store() отрабатывает нормально...
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru