Ajuda em Char to String

Olá, peço desculpa pela pergunta mas existe alguma forma de converter uma variável Char em String? Eu tenho um array com vários carateres e queria usar alguns de umas posições para os converter de HEX para DEC

O que queria fazer era algo como isto:
tempHex=hexToDec(bufin[9]+bufin[10]);

usar a função hexToDec para converter uma string (que tem código Hexadecimal) num número DEC.

O meu problema: ERROR: invalid conversion from ‘unsigned int’ to ‘const char*’

Podem ajudar-me a juntar os dois carateres ‘5’ + ‘A’ numa única String sem que dê o erro qdo os tento depois converter, o meu objectivo é ter como resultado ‘90’ (o código hexToDec está correcto o problema é mesmo o tipo de variável que estou a usar e juntar os caracteres).

Exemplo do que estou a fazer:

   char bufin[12];
   String tempHex;
   
void setup(){

bufin[9]= '5';
bufin[10]='A';

[b]tempHex=hexToDec(bufin[9]+bufin[10]);[/b]
}

void loop(){}


// Converting from Hex to Decimal:
// NOTE: This function can handle a positive hex value from 0 - 65,535 (a four digit hex string).
// For larger/longer values, change "unsigned int" to "long" in both places.

unsigned int hexToDec(String hexString) {
  
  unsigned int decValue = 0;
  int nextInt;
  
  for (int i = 0; i < hexString.length(); i++) {
    
    nextInt = int(hexString.charAt(i));
    if (nextInt >= 48 && nextInt <= 57) nextInt = map(nextInt, 48, 57, 0, 9);
    if (nextInt >= 65 && nextInt <= 70) nextInt = map(nextInt, 65, 70, 10, 15);
    if (nextInt >= 97 && nextInt <= 102) nextInt = map(nextInt, 97, 102, 10, 15);
    nextInt = constrain(nextInt, 0, 15);
    
    decValue = (decValue * 16) + nextInt;
  }
  
  return decValue;
}

Mas tu queres o valor 90 em ASCII? Ou em formato decimal para usares em calculos?

Porque é que estás a colocar o 5 e o A as posicões 9 e 10 do vector?

em formato decimal para usar em cálculos.

o '5' e o 'A' são apenas exemplos do que estou a usar no programa que estou a fazer (aqui meti apenas este código para não complicar), basicamente estou a ler a resposta de um OBD2 Bluetooth (que recolhe a informação de um carro), ele por exemplo envia: "010041055A", eu estou a colocar cada um destes caracteres no array e só me interessa os 2 últimos que é onde tenho o valor pretendido (neste caso sei que é de 90).

http://www.cplusplus.com/reference/cstdlib/strtol/ ??

Humm parece-me bem mas tenho de testar e agora não consigo..

Achas que se fizer desta forma: Resultado= strtol(&bufin[9] + bufin[10], 0,16); vai funcionar?

Não. Não vai funcionar… e eu não tenho tempo para te ensinar arrays.

Pesquisa por c arrays, ou strings (a inicial minúscula é propositada) em C e deves perceber o que tens de fazer.

Obrigado pelas dicas.

Já consegui o queria, exemplo:

bufin[9]= '5';
bufin[10]='A';
String tempHex(bufin[9]); 
String tempHex2(bufin[10]); 
String temp=tempHex+tempHex2;
int resultado=hexToDec(temp);

Resultado:

tempHex: 5
tempHex2: A
temp total: 5A
HEXADECIMAL TO DECIMAL:90