私はC++プログラムをFedora 20で動かしています。今私はより多くのパラメータが必要ですが、どういうわけか新しいパラメータを取ることを拒否します。なぜ私のC++ main()は自分のパラメータを受け取りません
これは私がそれを起動する方法です:
$ ./runtest.sh怒り22 33
これがメイン内の最初のラインCOUT()である:
UICommTestが開始されます... argc = 2
私はargc = 4を期待しています。
これは私のメイン():
int main(int argc, char*argv[])
{
std::cout << "UICommTest is starting ... argc="<< argc << std::endl;
if(argc == 1)
{
UICommTest::startTest(false);
}
else if(argc == 2)
{
if(string(argv[1]) == "true")
{
UICommTest::startTest(true);
}
else if(string(argv[1]) == "ire")
{
UICommTest::startTestIRE("-1", "-1");
}
else
{
std::cout << "Usage:: ..." << std::endl;
}
}
else if(argc == 4)
{
if(string(argv[1]) == "ire")
{
UICommTest::startTestIRE(argv[2], argv[3]);
}
else
{
std::cout << "Usage:: ..." << std::endl;
}
}
else
{
std::cout << "Usage:: ..." << std::endl;
}
return EXIT_SUCCESS;
}
私はきれいに行い、数回行います。そして、私は新しい変化があることを確信しています。誰でもこれについて助けることができますか?
runtest.shはシェルスクリプトまたはプログラムの名前ですか? – Fefux
'runtest.sh'がすべてのパラメータを含む実行可能ファイルを呼び出すことを確認してください。簡単な例 'exec a.out $ *' –
あなたのshは入力したパラメータを消費するでしょう。 –