2013-12-18 2 views
1

У меня есть C-программа, которую нужно запустить для 10 разных входных файлов. Вместо того, чтобы запускать программу 10 раз, можно запускать всего один раз, позволяя запускать каждый файл один за другим.Как запустить несколько входных файлов один за другим в C-программе

спасибо. С уважением, Камаль

+4

Поместите логику обработки файлов в отдельную функцию, вызовите эту функцию для каждого файла? – Zeta

ответ

4

Конечно, это то, что main аргументы за:

void process_file(char const * filename); 

int main(int argc, char * argv[]) 
{ 
    for (int i = 1; i < argc; ++i) 
    { 
     process_file(argv[i]); 
    } 
} 

Использование:

./a.out file1 file2 file3 
0
int main(int argc, char * argv[]) 

argc является количество аргументов, поэтому при передаче аргументов в ваша программа эта переменная сообщит вам, сколько аргументов было передано.

argv[0] - имя> вашей программы

argv[1]..argv[n] -> имя из argumets прошло.

Так ваш главный:

for (int i = 1; i < argc; i++) 
{ 
    fopen(argv[i],....); 
} 

И вы можете передать аргументы либо в свойствах проекта (если вы используете МСВС), из командной строки.

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