我有如下定義在我的代碼我如何#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