os_labs/lab7/README.md

17 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Лабораторная работа №7
Была поставлена задача разработать функцию, которая принимает строку и меняет
регистр через модификацию 6-ого бита. Для ускорения предлагается читать строку
из 32/64 бит, а не символ за один раз, если длина строки кратна 4/8 байт.
В результате работы была разработана программа, использующая искомую функцию. В
целях оптимизации по памяти она считывает не строку целиком, а работает со вводом
по частям по 8 байт каждая.
Поскольку при вводе из tty могут возникнуть проблемы с EOF (если длина ввода кратна
восьми, то нужно дважды подавать сигнал Ctrl-D), программа считывает символы по одному,
если обнаруживает, что `stdin` принадлежит tty. Также в tty программа останавливает чтение
строки на символе `\n` для удобства.
Применение битовой маски для всего блока в памяти затрудняется тем, что ввод может состоять
не только из букв.