あなたには多くの方法があります。1つは書くことです:
const unsigned char *data = (const unsigned char *)"00000000";
もう1つ、より推奨されるのは、次のように宣言するdata
ことです。
const char *data = "00000000";
そして、それを関数に渡すと、次のようになります。
myFunc((const unsigned char *)data);
unsigned char
一般に、の文字列は異常であることに注意してください。unsigned charsの配列がより一般的ですが、文字列( "00000000")で初期化することはありません。
アップデートへの対応
unsigned char
生のバイナリデータが必要な場合は、最初に、の代わりに、またはなどのより大きなコンテナを使用する方がよいことをお伝えしlong int
ますlong long
。これは、バイナリリテラル(配列)で操作を実行すると、操作が4または8削減され、速度が向上するためです。
次に、クラスでバイナリ値を表現する場合は、文字列ではなく、個々の値で初期化します。あなたの場合は次のようになります。
unsigned char data[] = {0x30, 0x30, 0x30, 0x30, /* etc */}
バイナリをバイナリとして格納していると仮定していることに注意してください。つまり、unsignedcharで8ビットを取得します。一方、0と1の文字列のようにバイナリを意味する場合、これは実際には良い考えではありませんが、いずれにしても、実際には必要unsigned char
ではなく、char
十分です。