Я предполагаю, что вам нужен массив шестнадцатеричных значений, т.е. массив целых чисел из String s
. Thogh из char test[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
, кажется, вам нужен массив символов. Если вы добавите приведенный ниже код после кода, вы получите целочисленный массив с именем hexn
, который будет содержать ваши шестнадцатеричные значения.
int i,hexn[20],k=0,j;
char tmp[8];
for (i=0;charArray[i]!='\0' ;i++){
if(charArray[i]=='x' && charArray[i-1]=='0'){
j=0;
while(charArray[i]!=','){
tmp[j++]=charArray[++i];
if (charArray[i]=='\0')
break;
}
sscanf(tmp,"%x",&hexn[k++]);
}
}
Теперь, если вам действительно нужно char test[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
, я полагаю, вы не получаете открывающая и закрывающая фигурные скобки, т.е. {
и }
. в этом случае вы можете использовать оператор конкатенации. Вы можете сделать что-то подобное перед своим кодом:
String s2 = String('{') + s + String('}');
Надеюсь, это вам поможет.