Шрифт:
Теперь мы считали целую строку. Зачем нам это было нужно? Например, неплохой ответ: “Потому что мы сделали то, чего не может оператор
Непосредственный ввод данных в строки
идти налево, пока не увидишь картину справа на стене
сними картину со стены и открой дверь позади нее. Возьми сундук
В данном случае мы сначала прочитаем всю строку, а затем извлечем из нее отдельные слова.
С другой стороны, если есть выбор, то лучше всего ориентироваться на знаки пунктуации, а не на символ перехода на новую строку.
11.6. Классификация символов
Как правило, мы вводим целые числа, числа с плавающей точкой, слова и так далее, в соответствии с общепринятым форматом. Однако мы можем, а иногда и должны, снизить уровень абстракции и ввести отдельные символы. Для этого необходимо затратить больше усилий, но, считывая отдельные символы, мы получаем полный контроль на тем, что делаем. Рассмотрим задачу распознавания лексем в выражениях из раздела 7.8.2.
Допустим, мы хотим разделить выражение
Для ввода чисел мы могли бы использовать оператор
Вместо этого можно сделать следующее:
Функция
При вводе отдельных символов мы обычно хотим классифицировать их: это символ или цифра? В верхнем регистре или в нижнем? И так далее. Для этого существует набор стандартных библиотечных функций.
Обратите внимание на то, что категории классификации можно объединять с помощью оператора ИЛИ (
Кроме того, в стандартной библиотеке есть две полезные функции для уничтожения различий между символами, набранными в разных регистрах.