Архив задач

Стеганография

Реализовать приложение, извлекающее секретное сообщениеиз входного файла. Известно, чтодля скрытного внедрения данных используется регистр символа. Если буква в нижнем регистре – это соответствует «0», если буква в заглавном регистре – это соответствует «1». Очередной символ секретного сообщения составляется из 8-ми битов, которые формируют код этого символа. В шифровании используются только буквы русского или английского алфавита. Знаки препинания и цифры не учитываются.

Указание:

Приложениеразрабатывается на базе реализованного шаблона чтения из файла. Для получения шифрованного текста необходимо вызвать функцию:

voidGetCryptoText(char *massiv, int *resultlen); 

massiv–указатель на массив символов, который будет заполнен сообщением после возврата из функции (не менее 500 байт);

resultlen–указатель на целочисленную переменную, которая будет равна количеству записанных в massiv во время выполнения функции байт.

Декодированное сообщение необходимо вывести на консоль.

Для проверки символа, является ли он буквой, используйте функцию

intiswalpha(unsigned char c);

Для перевода символов в верхний и нижний регистр используйте функции

inttowupper(unsigned char c);

inttowlower(unsigned char c);

Для корректной работы строки, содержащие русские буквы, должны быть объявлены как unsignedchar.

Заметим, что если вы работаете со средой обработки VisualStudio, то необходимо обратить внимание на настройку проекта (правой кнопкой на проекте, «Свойства»): параметр «CharacterSet» должен быть установлен в «UseMulti-ByteCharacterSet».