Если я правильно понял использование int main(int argc,char* argv[])
, всякий раз, когда я объявлял, что 4 целых argc должны быть 5. Например;int main (int argc, char * argv []) почему argc дает 2 аргумента?
int main(int argc,char* argv[])
{
int portNb = 0;
int leftMotorHandle;
int rightMotorHandle;
int sensorHandle;
if (argc>=5)
{
portNb=atoi(argv[1]);
leftMotorHandle=atoi(argv[2]);
rightMotorHandle=atoi(argv[3]);
sensorHandle=atoi(argv[4]);
}
else
{
printf("Indicate following arguments: 'portNumber leftMotorHandle rightMotorHandle sensorHandle'!\n");
extApi_sleepMs(55000);
return 0;
}
Но значение argc равно 2, когда я отлаживал код. Как я могу быть уверен, что argc имеет значение 5?
Что вы проходите в командной строке при запуске программы? – bruceg
'argv' и' argc' позволяют вам обращаться к аргументам, переданным вашей программе. Больше аргументов, больше значений 'argv' и большего' argc', чтобы указать это. Вы передаете 4 аргумента в свою программу? – GManNickG
Если вы хотите, чтобы argc был равен пяти, вам следует предоставить четыре аргумента командной строки. – ChrisD