Linux программирование в примерах
Шрифт:
До
Если число четное, условие '
С другой стороны, если число нечетно, строка содержит четное число пар обратных слешей (представляющих символы \\, как в С), и конечную комбинацию символов обратного слеша и конца строки. [43] В этом случае, если в буфере остались по крайней мере 80 свободных байтов, программа продолжает чтение в цикле следующей строки (строки 78–81). (Использование магического числа 80 не очень здорово; было бы лучше определить и использовать макроподстановку.)
43
Этот код несет с собой аромат практического опыта, не удивительно было узнать, что более ранние версии просто проверяли наличие обратного слеша перед символом конца строки, пока кто-то не пожаловался, что он не работает, когда в конце строки есть несколько обратных слешей — Примеч. автора.
По достижении строки 83 программе нужно больше места в буфере. Именно здесь вступает в игру динамическое управление памятью. Обратите внимание на комментарий относительно сохранения значения
Обратите внимание, что здесь вызывается функция
Таким образом, если функция
Обратите внимание, что не всегда подходит использование такой оболочки. Если вы сами хотите обработать ошибки, не следует использовать оболочку. С другой стороны, если нехватка памяти всегда является фатальной ошибкой, такая оболочка вполне удобна.
– 1 : 1;
В заключение, функция
44
Эта функция завершает выполнение программы — Примеч. науч. ред.
3.2.1.9. Только GLIBC: чтение целых строк:
Теперь, когда вы увидели, как читать строки произвольной длины, вы можете сделать вздох облегчения, что вам не нужно самим писать такую функцию. GLIBC предоставляет вам для этого две функции:
Определение константы
Обе функции управляют для вас динамической памятью, гарантируя, что буфер, содержащий входную строку, достаточно большой для размещения всей строки. Их отличие друг от друга в том, что
Указатель на
Весь Роберт Маккаммон в одном томе. Компиляция
Абсолют
Фантастика:
боевая фантастика
рейтинг книги
Все обо всем. Том 1
Справочная литература:
энциклопедии
рейтинг книги
Романов. Том 1 и Том 2
1. Романов
Фантастика:
фэнтези
попаданцы
альтернативная история
рейтинг книги
Неизвестный фактор (Романы)
Фантастика:
фэнтези
рейтинг книги
Вернувшийся: Первые шаги. Том II
2. Вернувшийся
Фантастика:
боевая фантастика
космическая фантастика
рпг
рейтинг книги
"Фантастика 2023-180". Компиляция. Книги 1-23
Фантастика 2023. Компиляция
Фантастика:
научная фантастика
боевая фантастика
рейтинг книги
Собрание сочинений. Том 8
Проза:
классическая проза
рейтинг книги
Золотая свирель
Фантастика:
фэнтези
рейтинг книги
Север и Юг. Великая сага. Компиляция. Книги 1-3
Приключения:
исторические приключения
рейтинг книги
Тайная Доктрина дней Апокалипсиса. Книга 4. Введение в систему
Религия и эзотерика:
религия
рейтинг книги
Избранные сочинения в 9 томах. Том 1 Зверобой; Последний из могикан
1. Ф.Купер Избранные сочинения в 9 томах
Приключения:
приключения про индейцев
рейтинг книги
Изменяющий-Механик. Компиляция. Книги 1-18
Собрание сочинений
Фантастика:
боевая фантастика
космическая фантастика
рейтинг книги
Черный Ферзь
Миры братьев Стругацких. Время учеников
Фантастика:
научная фантастика
рейтинг книги
Системная технология
Научно-образовательная:
политика
рейтинг книги