Часто задаваемые вопросы и ответы по C/C++/Visual C++
Последнее обновление: 27.08.2003
FAQ по C/C++/Visual C++
Работа с сетью
Перевод из DOS кодировки в Windows и наоборот
Составители: SUnteXx, Leprecon
Перевод из DOS кодировки в Windows и наоборот
A: (Adil)
Оригинальная ссылка: нету

Функции меняют передаваемую им строку.
Для удобства возвращают указатель на передаваемую строку.
//из ДОС в Windows
char* Decode_DOS_to_Win(char * str)
{
    unsigned char *cstr=str;//"unsigned" - чтоб избежать предупреждений комп-ра
    for(; *cstr; cstr++)
    {
        if(*cstr>=128 && *cstr<=175)
            *cstr+=64;
        else if(*cstr>=224 && *cstr<=239)
            *cstr+=16;
        else if(*cstr==252)
            *cstr=185;
    }
    return str;
}
//----------------------------------------------------

//из Windows в ДОС
char* Decode_Win_to_DOS(char * str)
{
    unsigned char *cstr=str;
    for(;*cstr;cstr++)
    {
        if(*cstr>=240)
            *cstr-=16;
        else if(*cstr>=192)
            *cstr-=64;
        else if(*cstr==185)
            *cstr=252;
    }
    return str;
}
//----------------------------------------------------

Содержание Обсудить на форуме « Предыдущая статья | Следующая статья »
Перейти к FAQ:  
FAQ составлен по материалам Форума на Исходниках.Ру.
Copyright © 2002 by Sources.ru. All rights reserved.