Передача аргументов командной строки из одной программы в другую - C (СИ)
Формулировка задачи:
Добрый день! Вот следующее задание
Программа должна запускать тестируемую программу, передавая ей исходные данные (4 вещественных числа) в качестве аргументов командной строки. Если тестируемая программа в качестве возвращаемого значения возвращает нуль, программа должна...
Подскажите пожалуйста как именно можно вызвать тестируемую программу с передачей аргументов командной строки
Решение задачи: «Передача аргументов командной строки из одной программы в другую»
textual
Листинг программы
//http://www.codenet.ru/progr/cpp/sprd/ #include <stdio.h> #include <stdlib.h> #include <process.h> #include <locale.h> int main(int argc, char* argv[]) { int i; float s=0; setlocale(LC_ALL,"Russian_russia.1251"); if(argc==1) { printf("Процесс А\n"); if(!spawnl(P_WAIT,argv[0],"--","1,2","2,5","3,7","5,9",NULL)) printf("Не знаю чего\n"); system("pause"); return 0; } else { for(i=1; i<argc; i++) s+=atof(argv[i]); printf("Процесс Б сумма=%f\n",s); system("pause"); return 0; } }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется функция main, принимающая аргументы командной строки
- Переменная i инициализируется значением 0
- Переменная s инициализируется значением 0
- Устанавливается русскоязычная локаль с кодовой страницей 1251
- Проверяется, равна ли аргументация 1. Если да, то выполняется блок кода для процесса А
- Если аргументация больше 1, то выполняется блок кода для процесса Б
- В цикле происходит суммирование всех переданных аргументов
- Выводится сообщение с результатом суммирования
- Выполняется пауза для ознакомления с результатом
- Возвращается 0, завершая выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д