次のコードがあります。
int main(int argc, char *argv[])
{
if(strcmp(argv[1],"-e")==0)
{
//perform code
}
//code if argv[1] is not "-e"
return 0;
}
if ステートメント全体を取り出すと、次のようになります。
if(strcmp(argv[1], "-e")==0)
strcmp(argv[1], "-e") == 0) が "-e" でない場合、私のコードは正常に動作します。しかし、そのままにしておくと、上記の if ステートメントが true を生成する場合にのみコードが機能します。なぜこれが起こるのかについてのアイデアはありますか?例えば:
argv[1] をコメントアウトせずにコンパイルした場合:
//サンプルプログラムは実行可能ファイルになります
exampleProgram -e < a.txt は機能しますが、 exampleProgram < a.txt は機能しません。理由はありますか?