Перекодировать введенный текст из кодировки cp866 в win1251 - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Как перекодировать введенный текст из кодировки cp866 в win1251? Какие функции есть? Мои идея перевести в машинный код, а потом уже из машинного в тот, который нужен

Решение задачи: «Перекодировать введенный текст из кодировки cp866 в win1251»

textual
Листинг программы
void cp866_cp1251( char *s ) {
    for (;*s!=0; ++s ) {
        if( *s>-129 && *s<-80 )
            *s += 64;
        else if( *s>-33 && *s<-16 )
            *s += 16;
    }
}

Объяснение кода листинга программы

  1. Входной параметр функции - строка s, которая содержит текст в кодировке cp866.
  2. В цикле for происходит проход по каждому символу строки s.
  3. Условие проверки символа s>-129 и s<-80 не выполняется ни для одного символа, так как в указанном диапазоне нет символов из кодировки cp866.
  4. Условие проверки символа s>-33 и s<-16 также не выполняется ни для одного символа, так как в указанном диапазоне нет символов из кодировки cp866.
  5. В конце функции происходит инкремент значения символа s на 64 или 16 в зависимости от диапазона, но данное действие не приводит к корректному перекодированию текста из cp866 в cp1251.
  6. Возвращаемого значения в функции нет.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы