Системное программирование

Системное программирование - это очень обширная область программирования, включающая в себя самые разнообразные направления. Некоторые начальные сведения о системном программировании в Linux можно почерпнуть из этой методички, но все же лучше изучать этот предмет по серьёзным книгам, сочетая теорию с практикой.

Пример 1 - Подсчёт символов в файле

В качестве первого примера напишем программу, выводящую информацию о файле в виде таблицы символов, которые файл содержит:

$ vim letters.c

letters.c.png

Разбритесь с исходным текстом программы, определите алгоритм её работы. При этом возникнет необходимость изучить назначение и принцип работы функций isspace() и isprint(), для чего всегд можно воспользоваться справочной системой:

$ man isspace

Скомпилируйте программу:

$ gcc letters.c -o letters

Запустите программу с параметрами:

$ ./letters letters letters.c | more

и без параметров:

$ ./letters

Замечание. Для выхода из приложения необходимо отправить ему символ окончания файла: нажать сочетание клавиш Ctrl+D дважды.

Полученные результаты объяснить.