2010-11-24 26 views
-1

非常に扱いにくい状況に陥りました。コマンドラインの引数に基づいて、ブール値をtrueまたはfalseに設定する必要があります。私は引数を提供する必要があります-ds=relこの値に基づいて、プログラムはそれをtrueとfalseに設定します。私は今、私は、コマンドラインで-ds=drawを与える場合、それは真のrel =を設定する必要があることを望んコマンドラインパラメータに基づいて値をtrueまたはfalseに設定します。

if (strncmp(argv[argc_pnt], "draw", 4) == 0) 
{ 
    rel = true; 
} 

を使用していました。つまり、(=)の後の値を比較し、描画された場合はそれを真にする必要があります。それ以外の場合は、-ds=の後に何かを与えると、rel値はfalseになります。

答えて

0

何か

2
static const char DS_ARG[] = "-ds="; 
rel = false; 

// … 

if (strncmp(argv[i], DS_ARG, sizeof(DS_ARG) - 1) == 0) { 
    // argv[i] begins with "-ds=" 
    if (strcmp(argv[i] + sizeof(DS_ARG) - 1, "draw") == 0) { 
     // "-ds=" is followed by "draw" 
     rel = true; 
    } 
} 
+0

rel=!strcmp(argument, "draw");のように(私が問題になっているようには 'false'' true'を使用していることに注意してください、しかし、彼らは通常、Cで定義されていないあなたは、のために 'stdbool.h'を含めたいことあなた自身のブール型の 'enum'を作ります)。 – Arkku

関連する問題