Linux программирование в примерах
Шрифт:
Скорость может быть достигнута в результате использования специальных инструкций «блочного сравнения памяти», которые поддерживают многие архитектуры, или в результате сравнения единиц, превышающих байты. (Эта последняя операция коварна, и лучше оставить ее автору библиотеки.)
По этим причинам всегда следует использовать вашу библиотечную версию
12.2.4. Поиск байта с данным значением:
Функция
GNU
124
См. wс(1).
Внешний цикл (строки 261–278) читает блоки данных из входного файла. Внутренний цикл (строки 272–276) использует
Комментарии в строках 259–260 нуждаются в некотором объяснении. Вкратце, современные системы могут использовать символы, занимающие более одного байта в памяти и на диске. (Это несколько более подробно обсуждается в разделе 13.4 «Не могли бы вы произнести это для меня по буквам?».) Таким образом,
12.3. Временные файлы
Временный файл является в точности тем, что звучит в его названии: файл, в котором при
Удивительно, но имеются пять различных функций для создания временных файлов. Три из них работают посредством создания строк, представляющих (предположительно) уникальные имена файлов. Как мы увидим, их обычней следует избегать. Оставшиеся две работают путем создания и открытия временного файла; эти функции предпочтительнее для использования.
12.3.1. Создание временных имен файлов (плохо)
Имеются три функции, назначением которых является создание имени уникального, не существующего файла. Получив такое имя, вы можете использовать его для создания временного файла. Поскольку имя уникально, вам «гарантируется» исключительное использование файла. Вот объявления функций:
Все эти функции предусматривают различные вариации одной и той же темы они заполняют или создают буфер с путем уникального временного имени файла. Файл уникален в том, что создаваемое имя не существует во время создания и возвращения его функциями. Функции работают следующим образом:
Генерирует уникальное имя файла. Если
Подобно
Простолюдин
1. Путь князя
Фантастика:
боевая фантастика
рпг
рейтинг книги
Моров. Том 8
7. Моров
Фантастика:
альтернативная история
аниме
фэнтези
попаданцы
рейтинг книги
Враг из прошлого тысячелетия
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Антимаг
1. Антимаг
Фантастика:
фэнтези
рейтинг книги
Гром Раскатного. Том 3
3. Штормовой Предел
Фантастика:
боевая фантастика
попаданцы
аниме
рейтинг книги
Старая школа рул
1. Второгодка
Фантастика:
альтернативная история
рейтинг книги
Страж
1. Страж
Фантастика:
научная фантастика
рейтинг книги