Преборазование DOS кодировки в Windows и обратно

Ниже приведены функции, меняющие кодировку передаваемой им строки и возвращают указатель на передаваемую строку.
//из DOS в 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 в DOS
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;
}

 
« Предыдущая статья   Следующая статья »