Здравствуйте все,Преобразование C# код на C++: Hex в двоичный
У меня есть C# код, и хотел бы, чтобы преобразовать его в C++. Я пытался и googling для нескольких разных способов, но есть ли некоторые простые исправления для этого фрагмента кода, чтобы сделать его совместимым с C++? Я новичок в C++:
static std::string Hex2Bin(std::string sHexavalue)
{
std::string binaryValue = "";
char charArray[] = sHexavalue::toupper.ToCharArray();
for(int n=0; n < sHexavalue.length(); n++)
{
switch (charArray[n])
{
case '0':
binaryValue += "0000";break;
case '1':
binaryValue += "0001";break;
case '2':
binaryValue += "0010";break;
case '3':
binaryValue += "0011";break;
case '4':
binaryValue += "0100";break;
case '5':
binaryValue += "0101";break;
case '6':
binaryValue += "0110";break;
case '7':
binaryValue += "0111";break;
case '8':
binaryValue += "1000";break;
case '9':
binaryValue += "1001";break;
case 'A':
binaryValue += "1010";break;
case 'B':
binaryValue += "1011";break;
case 'C':
binaryValue += "1100";break;
case 'D':
binaryValue += "1101";break;
case 'E':
binaryValue += "1110";break;
case 'F':
binaryValue += "1111";break;
}
}
return binaryValue;
}
Моя ошибка возникает, когда у меня есть sHexavalue быть изменен в верхний регистр и ToCharArray. Я получаю эту ошибку: IntelliSense: инициализация с «{...}» ожидается для совокупного объекта
Итак, я знаю, что все еще есть «конверсия» с C# на C++, но мне просто нужно знать, возможно ли иметь фрагмент, преобразованный в простой простой способ.
EDIT: Вот оригинальный источник:
//convert a Hexa value string to a binary value string
public static string Hex2Bin(string sHexavalue)
{
string binaryValue = "";
char[] charArray = sHexavalue.ToUpper().ToCharArray();
for(int n=0; n < sHexavalue.Length; n++)
{
switch (charArray[n])
{
case '0':
binaryValue += "0000";break;
case '1':
binaryValue += "0001";break;
case '2':
binaryValue += "0010";break;
case '3':
binaryValue += "0011";break;
case '4':
binaryValue += "0100";break;
case '5':
binaryValue += "0101";break;
case '6':
binaryValue += "0110";break;
case '7':
binaryValue += "0111";break;
case '8':
binaryValue += "1000";break;
case '9':
binaryValue += "1001";break;
case 'A':
binaryValue += "1010";break;
case 'B':
binaryValue += "1011";break;
case 'C':
binaryValue += "1100";break;
case 'D':
binaryValue += "1101";break;
case 'E':
binaryValue += "1110";break;
case 'F':
binaryValue += "1111";break;
}
}
return binaryValue;
}
[Это оригинал C# код?] (Http://pastebin.com/RkzdKnE4) – Borgleader
@Borgleader, нет, это не так. Я пытаюсь преобразовать сейчас и теперь могу предоставить фактическое редактирование. – user2577497