Я хочу добавить данные в ID[10]
в dispvar
, используя sprintf.Но проблема в том, что идентификатор имеет тип uint64_t
, а dispvar
- тип char
.Поэтому, когда я пробую приведенный ниже код, я получаю только первое значение, хранящееся в ID
, добавленное к dispvar
.Как я могу добавить весь контент от ID
до dispvar
?
char dispvar[150]={0};
union Device_Details{
struct DeviceDetails{
uint64_t FirmwareID[10];
uint64_t No_of_Mot;
uint64_t ID[10];
uint64_t RTC_Data[7];
uint64_t BatStat;
}Device;
uint64_t Buffer[11];
}DeviceData;
sprintf(dispvar,"\n Device ID is %s", ( char *)ID);
Идентификатор установлен из моего приложения, поэтому, если я установлю идентификатор как Hello из своего приложения, идентификатор будет выглядеть так: - ID [0] = 'H', ID [1] = 'e',ID [2] = 'l', ID [3] = 'l', ID [4] = '0';каждый из них является индексом типа unsigned long long.
IMAGE