-1
我有一個在Fedora 20中運行的C++程序。當我通過main()啓動它時,它可以不帶任何參數或一個參數。現在我需要更多的參數,但不知何故,它拒絕採用新的參數。爲什麼我的C++ main()不接受我的參數
這是我如何啓動它:
$ ./runtest.sh IRE 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是一個shell腳本或程序的名稱? – Fefux
確保'runtest.sh'調用包含所有參數的可執行文件。簡單的例子'exec a.out $ *' –
你的sh可能會消耗你輸入的參數。 –