
Patrick B. answered 03/05/20
Math and computer tutor/teacher
using namespace std;
#include <iostream>
int HexChar2Int( char chHexDigit)
{
int iReturn=-1;
switch (chHexDigit)
{
case '0': { iReturn=0; break; }
case '1': { iReturn=1; break; }
case '2': { iReturn=2; break; }
case '3': { iReturn=3; break; }
case '4': { iReturn=4; break; }
case '5': { iReturn=5; break; }
case '6': { iReturn=6; break; }
case '7': { iReturn=7; break; }
case '8': { iReturn=8; break; }
case '9': { iReturn=9; break; }
case 'A': { iReturn=10; break; }
case 'B': { iReturn=11; break; }
case 'C': { iReturn=12; break; }
case 'D': { iReturn=13; break; }
case 'E': { iReturn=14; break; }
case 'F': { iReturn=15; break; }
default: { break; }
}
return(iReturn);
}
int HexByte2Int( char hex[2])
{
int highByte = HexChar2Int(hex[0]);
int lowByte = HexChar2Int(hex[1]);
return( highByte*16+lowByte);
}
void Hex2Ascii ( char * hexBuff, char * asciiStr)
{
char * curPtr = hexBuff;
char * outputPos = asciiStr;
char hex[2];
while (*curPtr!=0)
{
hex[0]= *curPtr;
hex[1]=*(curPtr+1);
int iChar = HexByte2Int(hex);
*outputPos = char(iChar);
outputPos++;
curPtr+=2;
}
}
int main()
{
char hexStr[1000];
char str[500];
cout << " Input the hex string :>";
cin >> hexStr;
Hex2Ascii(hexStr,str);
cout << str << endl;
}
Carma E.
Looks nice, but it seems to be C++ not classic ASP03/05/20