Запустите программу с аргументами вместо заполнения значений - PullRequest
0 голосов
/ 27 октября 2011

У меня небольшое консольное приложение, которое запрашивает значения для подсчета (функция scanf). Но я хочу вызвать эту программу с аргументами -> поэтому мне не нужно заполнять ее вручную.

Моя программа выглядит так:

./a.out
Give me 3 values:

И я должен написать «3 78 63».

Но я хочу это (запустить программу с аргументами): "./a.out -3 -78 -63"

Есть ли какой-нибудь простой способ, как это сделать?

1 Ответ

2 голосов
/ 27 октября 2011

Вам необходимо проанализировать массив argv, переданный программе:

int main(int argc, char **argv)
{
    if (argc > 1)
    {
        for (int i  = 1; i < argc; i++)
        {
            char *arg = argv[i];
            // do something
        }
    }
    else
    {
        // ask for arguments via stdin
    }
}
...