си scanf



Scanf в си

Автор Mike zooom задал вопрос в разделе Другие языки и технологии

Не могу понять как работает scanf(). Си. и получил лучший ответ

Ответ от MaXX1020[гуру]
Использовать подобные функции не есть хорошо ибо как видишь глюки начинаются) И почему нельзя написать просто scanf("%s", str1); чтобы прога в эту переменную всё запихала?
MaXX1020
Просветленный
(37911)
Эм... Тут вроде надо уже на C++ переходить со cin/cout хотя не знаю точно. И можно ли к примеру завести какую нибудь буферную переменную символов так в 256 и уже от неё нужное количество символов отгрызать? Ну а вообще тут нужно количество вводимых символов контролировать, вот только что то никакого простого способа на ум не приходит.

Ответ от Александр Кузьмин[гуру]
А куда же они (лишние символы) будут деваться?

Ответ от Полосатый жираф Алик[гуру]
А почему тебе влом почитать описание scanf?
"Команды форматирования могут содержать модификатор максимальной длины поля. Он представляет собой целое число, располагаемое между знаком % и кодом формата, которое ограничивает количество читаемых для всех полей символов. Например, если в переменную address нужно прочитать не более 20 символов, используется следующий оператор.
scanf("%20s", address);
Если входной поток содержит более 20 символов, то при последующем обращении к операции ввода чтение начнется с того места, в котором "остановился" предыдущий вызов функцииscanf(). Если разделитель встретится раньше, чем достигнута максимальная длина поля, ввод данных завершится. В этом случае функция scanf() переходит к чтению следующего поля. "

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Не могу понять как работает scanf(). Си.
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*