Шрифт:
Спецификатор, начинающийся со звездочки, указывает на то, что элемент игнорируется. Это значит, что информация не сохраняется, и, следовательно, для ее получения не нужна переменная.
Применяйте спецификатор
Используйте спецификатор
Лучше применять спецификатор ширины поля или комбинацию функций
Применяйте спецификатор
Если задана следующая строка ввода:
приведенный далее вызов
Функции семейства
Функция
традиционно их реализации полны ошибок;
в использовании эти функции не гибки;
они могут привести к созданию программного кода, в котором трудно решить, что подвергать синтаксическому анализу.
В качестве альтернативы попытайтесь применять другие функции, такие как
Другие потоковые функции
В библиотеке stdio существует ряд других функций, использующих потоки как параметры или стандартные потоки
Эти библиотечные функции описаны на страницах интерактивного справочного руководства в разделе 3.
Вы можете использовать функции обработки файловых потоков для повторной реализации с их помощью программы копирования файлов. Взгляните на программу copy_stdio.c в упражнении 3.3.
Эта программа очень похожа на предыдущие версии, но посимвольное копирование выполняется с помощью вызовов функций, заданных в файле stdio.h:
Выполнив эту программу, как прежде, вы получите:
Как это работает
На этот раз программа выполняется 0,11 с, не так быстро, как низкоуровневая блочная версия, но значительно быстрее другой посимвольной версии. Это произошло потому, что библиотека stdio поддерживает внутренний буфер в структуре