Вывод скрипта Python, считанного в программу C, без создания временного файла для передачи значения между программой - PullRequest
0 голосов
/ 07 ноября 2019

Я использую system("calling python script") <- это вызывается в программе c. В сценарии я просто проверяю, совпадают ли два массива, затем возвращаю это </p>

Строка ниже запускается из программы C

Затем я читаю системное возвращаемое значение, которое просто возвращает 0. Все, что я хочудля этого нужно передать значение из python в программу на C без использования временного файла между ними.

Программа на C:

#include <stdio.h>
#include <stdlib.h>

char buffer[300];
snprintf(buffer, sizeof(buffer), "xls2csv %s > /home/......../xyz.py", filename);

int systemReturn = system(buffer);

if(systemReturn == -1)
{
    // The system method failed
    fprintf(stderr, "Error");
}
if(systemReturn = 2 )
{
    //Then do this
}

программа на python:

if(Data_in_end != merged):
    print("They did not match")
    sys.exit(1)
else:
    print("They did match")
    sys.exit(2)

1 Ответ

0 голосов
/ 07 ноября 2019

Если вы просто хотите передать немного данных между программами, вы можете использовать аргументы. Например, команда linux shutdown по умолчанию отключит ваш компьютер через одну минуту. Однако, если вы передадите ему аргумент «сейчас» (shutdown now), он немедленно отключится.

в вашей программе на c вам понадобится специально отформатированная основная функция, которая принимает аргументы. Есть сотни примеров в Интернете. Этот подход не рекомендуется для больших объемов данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...