你的字符串是数字吗?例如. char * bufferSlidePressure =“123”;?
如果是这样,我会这样做:
uint8_t slidePressure = (uint8_t)atoi(bufferSlidePressure);
或者,如果您需要将其放入数组中:
slidePressure[0] = (uint8_t)atoi(bufferSlidePressure);
编辑:在您的评论之后,如果您的数据可能是任何内容,我猜您必须将其复制到新数据类型的缓冲区中.例如.就像是:
/* in case you'd expect a float*/
float slidePressure;
memcpy(&slidePressure, bufferSlidePressure, sizeof(float));
/* in case you'd expect a bool*/
bool isSlidePressure;
memcpy(&isSlidePressure, bufferSlidePressure, sizeof(bool));
/*same thing for uint8_t, etc */
/* in case you'd expect char buffer, just a byte to byte copy */
char * slidePressure = new char[ size ]; // or a stack buffer
memcpy(slidePressure, (const char*)bufferSlidePressure, size ); // no sizeof, since sizeof(char)=1