数時間前に、C++ のコマンド ライン引数について同様の質問をしました。今、別の問題があります。私の知る限り、コマンドライン引数は文字列のように argv 配列に保存されます。したがって、テーマを文字列と比較することは論理的である必要がありますが、私が望むようには機能しません。次のコードを見てください。
#include <iostream>
using namespace std;
int main(int argc,char** argv)
{
if (argv[2]=="stack") cout << "right";
cout << argv[2];
return 0;
}
ここで、このコマンドをゼロ.exe という名前のコンパイル済みアプリケーションに渡します。
zero.exe stack
出力は「rightstack」である必要がありますが、if
コマンドはスキップcout << argv[2];
されて実行されるだけなので、スタックのみがモニターに表示されます。"stack"
に保存されていることが示されているため、機能するはずですがargv[2]
、そうif (argv[2]=="stack")
ではありません。問題はどこだ?