我有如下定义在我的代码我如何#define一个无符号字符*字符串?
#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?
为什么不'为const char * PRODUCTNAME = “SomeName”'或类似的? (不相关,但#define有很多缺点)。 –
我不知道这是如何符合标准的,但是怎么样:'(const unsigned char *)“SomeName”' – Mysticial
出于好奇,“com_reply”功能呢?它看起来应该不是一个字符串,而是一个指向0到255之间数字的指针。 – austin