Как конвертировать string в uint8_t*, чтобы затем правильно передать значение в функцию WriteReg?
void WriteReg(uint8_t *buffer)
{
// some code
}
int main()
{
string str4 = "test";
uint8_t send_buffer[20];
// convert str4 to send_buffer ?
WriteReg(send_buffer);
}
std::memcpy(send_buffer, str4.data(), str4.size() + 1);
Если терминальный ноль не нужен, единичку можно убрать. Ещё стоит проверить, что строка влезет в буфер, на всякий случай. А если это отправка по сети, то обычно ещё размер буфера в функцию WriteReg передают
Просто сделайте каст:
WriteReg(reinterpret_cast<uint8_t*>(&str4[0]));
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости