2016-11-26 13 views
0

私は< openssl/sha.h>を使用する必要があるC++プロジェクトで作業しており、特にSHA1関数を使用しています。私の問題は、[]関数はunsigned char型を受け取ることである、と私はプログラムへの引数として渡されたパラメータに処理を取得する必要があります。C++のunsigned charへのキャスト

int main(int argc, char* argv[]) 
{ 

    unsigned char message[] = argv[1]; 

    /* program continues using message */ 

} 

を私は取得していますエラーは以下の通りです:

error: array initializer must be an initializer list or string literal 
const unsigned char message[] = argv[1]; 
        ^

したがって、適切な呼び出しをSHA1関数に行うために、引数の入力を 'message'変数に適切にキャストするつもりはありません。

ありがとうございます!

答えて

2

配列からポインタを初期化することはできません。おそらく、代わりにunsigned char *を使用してください。

unsigned char *message = reinterpret_cast<unsigned char *>(argv[1]); 
+0

これは完全に機能しました。どうもありがとうございました!! – 9uzman7

関連する問題