當我運行下面的代碼:如果我沒有在命令提示符中輸入它,ARGC值如何初始化?
void main(int argc, char** argv)
{
if (argc != 2){
fprintf(stderr, "Usage: %s video-dir-path\n", argv[0]);
exit(-1);
}
XFishTracker ft(argv[1]);
int id = 0;
while (true)
{
id++;
...
...
退出,因爲ARGC的價值顯然不是2 如果我註釋掉出口(-1)行,我得到一個斷言錯誤。 我認爲,因爲ARGC不是2,我的程序不運行或繼續。我如何將argc初始化爲2並讓程序運行,當它甚至可以正常看到命令提示符時退出。
如何讓命令提示符保持並給出兩個輸入以便argc == 2?
[不是問題]'void main'是錯誤的。 'main'必須總是返回一個'int' – NathanOliver
你如何運行你的程序?這聽起來像你正在尋找命令行參數,但你實際上沒有給出任何。如果你有,那麼ARGC/ARGV會有這些數據。 –
對於有兩個參數'argc'的程序將是3! –