2016-02-04 2 views
-4

Если я правильно понял использование 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?

+2

Что вы проходите в командной строке при запуске программы? – bruceg

+0

'argv' и' argc' позволяют вам обращаться к аргументам, переданным вашей программе. Больше аргументов, больше значений 'argv' и большего' argc', чтобы указать это. Вы передаете 4 аргумента в свою программу? – GManNickG

+0

Если вы хотите, чтобы argc был равен пяти, вам следует предоставить четыре аргумента командной строки. – ChrisD

ответ

0

Вы должны ввести не менее 4 аргументов из командной строки.

Отделите аргументы space.

3

Если я правильно понял использование 'Int основных (INT ARGC, символ * ARGV [])', всякий раз, когда я объявил 4 число ARGC должно быть 5.

argc и argv не имеют ничего делать с числом переменных, которые вы заявляете в своей программе. argc означает количество аргументов, которые вы предоставляете, когда вы запустите из командной строки. argv - это массив указателей символов, указывающих на ваши аргументы (включая имя самой программы).

Предположите, что ваша программа называется proc. Вам нужно будет запустить его из командной строки (или вам нужно будет узнать из вашей IDE, как предоставить аргументы командной строки).

./proc 5 10 15 20 

Числа 5, 10, 15, 20 будет ваш argv[1] .. argv[4]

0

Int ARGC является количество аргументов, значит, сколько аргументов ваши проезжают, включая название программы.

голец указатель массива представляют аргументы

Смежные вопросы