Иллюстрированный самоучитель по практике программирования

Библиотека для распространения

Функция endofline нужна для выявления и обработки ситуаций, когда вводимая строка заканчивается символами возврата каретки, перевода строки, ими обоими вместе или даже EOF:

Иллюстрированный самоучитель по практике программирования › Интерфейсы › Библиотека для распространения

Здесь необходима отдельная функция, поскольку стандартные функции ввода не обрабатывают все многообразие нетривиальных форматов, встречающихся в реальных условиях.

Наш прототип использовал strtok для определения следующего поля поиском символа-разделителя, которым в принципе является запятая. Однако при таком подходе невозможно обрабатывать запятые, находящиеся внутри кавычек. В split необходимо внести глобальные изменения (хотя ее интерфейс и не изменится). Представьте себе такие строки ввода:

Иллюстрированный самоучитель по практике программирования › Интерфейсы › Библиотека для распространения

Каждая строка содержит по три пустых поля. Для того чтобы split была в состоянии корректно интерпретировать такие строки и им подобные, ее реализацию придется глобально усложнить, – это классический пример того, как особые случаи и граничные условия оказываются доминирующими в программе.

Иллюстрированный самоучитель по практике программирования › Интерфейсы › Библиотека для распространения

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.