C语言 如何定义一个unsigned char* string



我在代码中定义了以下内容

#define PRODUCTNAME     "SomeName"

,我想用函数com_reply(unsigned char* msg, uint16_t lenght)发送它。

现在我得到一个警告,我的参数在签名上不同。我知道问题是什么,为什么com_reply使用unsigned char*而不是char*,我只是想知道:

如何将字符串定义为unsigned char*,以便在整个程序中使用它而不会到处收到警告。

编辑:

严格来说,我在这里有多个定义,主要原因是有一个BANNER定义,它由几个其他定义组成,像这样:

#define PRODUCTNAME     "SomeName"
#define PRODUCTDATE     "2013-03-30"
#define BANNER          PRODUCTNAME " (" PRODUCTDATE ")"

我应该创建const变量并在程序开始时连接它们而不是在这里使用定义吗?

应该可以:

#define PRODUCTNAME     ((const unsigned char *)"SomeName")

相关内容

  • 没有找到相关文章

最新更新