Перекодировать введенный текст из кодировки 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;
}
}
Объяснение кода листинга программы
- Входной параметр функции - строка s, которая содержит текст в кодировке cp866.
- В цикле for происходит проход по каждому символу строки s.
- Условие проверки символа s>-129 и s<-80 не выполняется ни для одного символа, так как в указанном диапазоне нет символов из кодировки cp866.
- Условие проверки символа s>-33 и s<-16 также не выполняется ни для одного символа, так как в указанном диапазоне нет символов из кодировки cp866.
- В конце функции происходит инкремент значения символа s на 64 или 16 в зависимости от диапазона, но данное действие не приводит к корректному перекодированию текста из cp866 в cp1251.
- Возвращаемого значения в функции нет.