У меня есть функция с именем token2char, которая передается в массиве символов с именем token с размером массива 1024. Я перебираю каждый символ, определяя, является ли он шестнадцатеричным (предполагается, что значение Hex всегда равно 2, например0xFF) или целое число от 0 до 255. Значения перемещаются в новый массив символов hex
и dec
соответственно, которые затем передаются другой функции, которая преобразует ее в ASCII.Сокращенная версия моего кода для шестнадцатеричного кода приведена ниже.
void token2char(char token[1024]){
// Iterate through each character in token
for (int i = 0; i < maxInputLength; i = i + 1){
// Ignore spaces, move to next char in token
if (token[i] == ' '){}
// Is Hex?
else if (token[i] == '0' && (token[i+1] == 'x' || token[i+1] == 'X')){
char hex[4];
strcpy(hex, token[i,i+1,i+2,i+3]);
hexConv(hex);
}
}
}
strcpy выдает ошибку, определенную в заголовке, но я не уверен, почему.Я пытался вызвать & токен или * токен внутри strcpy, но безрезультатно.