私は私のコードで#unsigned char *文字列を#defineにするにはどうすればよいですか?
#define PRODUCTNAME "SomeName"
を定義し、次のしていると私は機能com_reply(unsigned char* msg, uint16_t lenght)
でそれを送りたいです。
ここで私の議論が署名性が異なるという警告が出ます。
私はunsigned char*
ので、私はすべての場所の上に警告を得ることなく、私のプログラム全体でそれを使用することができますように私の文字列を定義することができます方法:私はちょうど知ってほしい、私は問題が何であるかを知っているし、また、なぜcom_reply
はunsigned char*
代わりのchar*
を使用しています。
EDIT:
#define PRODUCTNAME "SomeName"
#define PRODUCTDATE "2013-03-30"
#define BANNER PRODUCTNAME " (" PRODUCTDATE ")"
は、私が作成する必要があります。
は厳密に私は1つはここに定義し、主な理由はBANNER
は、このような他のいくつかの定義、で構成された定義が存在することであるよりも多くを持って話しますconst変数を使用して、ここで定義するのではなく、プログラムの開始時にそれらを連結しますか?
なぜ 'のconstのchar * PRODUCTNAME = "somenameの"'または類似? (無関係ですが、#defineにはこれには多くの欠点があります) –
これは標準に準拠していませんが、 ''(const unsigned char *) '' SomeName "' – Mysticial
、 '' com_reply'関数は何ですか?実際に文字列を取るべきではなく、0から255までの数字へのポインタであるように思えます。 – austin