10. Примеры В данном приложении приводится несколько содержательных и достаточно больших примеров, которые иллюстрируют как сам язык Си, так и некоторые возможности системы UNIX, а также некоторые программистские приемы решения задач при помощи Си. Многие из этих примеров содержат в качестве своих частей ответы на некоторые из задач. Некоторые примеры позаимствованы из других книг, но дополнены и исправлены. Все примеры проверены в действии. Смысл некоторых функций в примерах может оказаться вам неизвестен; однако в силу того, что данная книга не является учебником, мы отсылаем вас за подробностями к "Оперативному руководству" (man) по операционной системе UNIX и к документации по системе. И в заключение - несколько слов о путях развития языка "C". Чистый язык "C" уже отстал от современных технологий программирования. Такие методы как модули (языки "Modula-2", "Ada", "CLU"), родовые пакеты ("Ada", "CLU"), объектно-ориентированное программирование ("Smalltalk", "CLU") требуют новых средств. Поэтому в настоящее время "C" постепенно вытесняется более мощным и интеллектуальным языком "C++"*, обладающим средствами для объектно-ориентированного программирования и родовых классов. Существуют также расширения стандартного "C" объектно-ориентированными возможностями ("Objective-C"). Большой простор предоставляет также сборка программ из частей, написанных на разных языках программирования (например, "C", "Pascal", "Prolog").
Пример 2. Подсчет букв в файле. Пример 3. Центрирование строк. Пример 4. Разметка текста для nroff. Пример 5. Инвертирование порядка слов в строках. Пример 6. Пузырьковая сортировка. Пример 7. Хэш-таблица. Пример 8. Простая база данных. Пример 9. Вставка/удаление строк в файл. Пример 10. Безопасный free, позволяющий обращения к автоматическим переменным. Пример 11. Поимка ошибок при работе с динамической памятью. Пример 12. Копирование/перемещение файла. Пример 13. Обход поддерева каталогов в MS DOS при помощи chdir. Пример 14. Работа с сигналами. Пример 15. Управление скоростью обмена через линию. Пример 16. Просмотр файлов в окнах. Пример 17. Работа с иерархией окон в curses. Часть проекта uxcom. Пример 18. Поддержка содержимого каталога. Часть проекта uxcom. Пример 19. Роллируемое меню. Часть проекта uxcom. Пример 20. Выбор в строке-меню. Часть проекта uxcom. Пример 21. Редактор строки. Часть проекта uxcom. Пример 22. Выбор в прямоугольной таблице. Часть проекта uxcom. Пример 23. UNIX commander - простой визуальный Шелл. Головной модуль проекта uxcom. Пример 24. Общение двух процессов через "трубу". Пример 25. Общение процессов через FIFO-файл. Пример 26. Общение процессов через общую память и семафоры. Пример 27. Протоколирование работы программы при помощи псевдотерминала и процессов. Пример 28. Оценка фрагментированности файловой системы. Пример 29. Восстановление удаленного файла в BSD-2.9. Пример 30. Копирование файлов из MS DOS в UNIX. * C++ как и C разработан в AT&T; произносится "Си плас-плас" Автор благодарит авторов программ и книг по Си и UNIX, по которым некогда учился я сам; коллег из ИПК Минавтопрома/Демоса; программистов из сетей Usenet и Relcom, давших материалы для задач и рассуждений; слушателей курсов по Си за многочисленный материал для книги. А.Богатырев. [Назад][Содержание][Вперед] |