Передача аргументов командной строки из одной программы в другую - 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;
    }
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Определяется функция main, принимающая аргументы командной строки
  3. Переменная i инициализируется значением 0
  4. Переменная s инициализируется значением 0
  5. Устанавливается русскоязычная локаль с кодовой страницей 1251
  6. Проверяется, равна ли аргументация 1. Если да, то выполняется блок кода для процесса А
  7. Если аргументация больше 1, то выполняется блок кода для процесса Б
  8. В цикле происходит суммирование всех переданных аргументов
  9. Выводится сообщение с результатом суммирования
  10. Выполняется пауза для ознакомления с результатом
  11. Возвращается 0, завершая выполнение программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы