C 如何打印计数的数字并将其转换?

C 如何打印计数的数字并将其转换?,c,pic,mplab,C,Pic,Mplab,如何做计数? 例如,我向超级终端发送命令,然后它将回复打印计数值 这里是第一个例子 发送命令:UI1-UI10 应答命令:UI1-UI10_十六进制:0x3FF 上面的例子,从Ui1到Ui10,它是计数的,从1到10。然后,二进制将具有II10位,但在超级终端中,将以十六进制回复0x3FF 第二个例子 发送命令:UI5-UI7 应答命令:UI5-UI7,十六进制:0x3或0x03 Ui5到Ui7,它算,五到七。然后,二进制将具有III 3位,但在超级终端中,将以十六进制回复0x3或0x03 第三

如何做计数? 例如,我向超级终端发送命令,然后它将回复打印计数值

这里是第一个例子

发送命令:UI1-UI10

应答命令:UI1-UI10_十六进制:0x3FF

上面的例子,从Ui1到Ui10,它是计数的,从1到10。然后,二进制将具有II10位,但在超级终端中,将以十六进制回复0x3FF

第二个例子

发送命令:UI5-UI7

应答命令:UI5-UI7,十六进制:0x3或0x03

Ui5到Ui7,它算,五到七。然后,二进制将具有III 3位,但在超级终端中,将以十六进制回复0x3或0x03

第三个例子

发送命令:UI5-UI5

应答命令:UI5-UI5_,十六进制:0x1

Ui5,直到Ui5,才算5。然后,二进制将有I 1Bit,但在超级终端中,将以十六进制回复0x1或0x01

上面的例子能按位完成它的功能吗

这是我的代码:

void decode(unsigned char* msg) {

    unsigned char* lala[50];

    if (strstr(msg, "UI1-UI10") != NULL)
    {
        sprintf(lala, "UI1-UI10_in_Hexadecimal:0x3FF");
        sendString(lala);
    }
    else if (strstr(msg, "UI5-UI7") != NULL)
    {
        sprintf(lala, "UI5-UI7_in_Hexadecimal:0x3");
        sendString(lala);
    }
    else if (strstr(msg, "UI5-UI5") != NULL)
    {
        sprintf(lala, "UI5-UI5_in_Hexadecimal:0x1");
        sendString(lala);
    }
}

但是,当send命令不同时,这段代码就出现了问题。

lala或lala[0]、lala[1]、lala[2]@itsnotmyrealname我使用lala[50]您正在尝试在不兼容的指针类型之间传递请澄清您的具体问题或添加其他详细信息,以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。请参阅页面以获取澄清此问题的帮助。