Convertir char* à u_int8_t

Je transfert message par le biais d'un protocole can.

Pour ce faire, le POUVEZ message de besoin de données de u_int8_t type. J'ai donc besoin de convertir mon char* à u_int8_t. Avec mes recherches sur ce site, je produire ce code :

    char* bufferSlidePressure = ui->canDataModifiableTableWidget->item(6,3)->text().toUtf8().data();//My char*

    /* Conversion */
    uint8_t slidePressure [8];
    sscanf(bufferSlidePressure,"%c",
        &slidePressure[0]);

Comme vous pouvez le voir, mon char* doit s'inscrire dans sliderPressure[0].

Mon problème est que même si je n'ai aucune erreur lors de la compilation, les données dans slidePressure sont totalement incorrectes. En effet, je l'ai tester avec un char* = 0 et je 'ai unknow personnages ... Donc je pense que le problème doit venir de la conversion.

Mes données peuvent être Bool, Uchar, Ushort and float.

Merci pour votre aide.

  • "char* = 0" signifie "bufferSlidePressure == 0"? Si oui, pas de données seront converties.
  • Cela signifie bufferSlidePressure = '0'
  • veuillez présenter la contribution& valeur de sortie. Le code suivant peut afficher la bonne valeur: char* buf = "0"; uint8_t slide[8]; sscanf(buf, "%c", &slide[0]); printf("%d", slide[0]);