Я попробовал модуль подпроцесса, но предоставил основную функцию C со строковыми значениями, но, похоже, у меня не работает. В Интернете есть определенные решения, но мне сложно понять и реализовать их. Мы будем благодарны за любую помощь.
Я хочу выполнить файл, записанный в C, передавая ему аргументы из моего кода pyhthon, и после того, как этот файл C будет выполнен, я хочу захватить то, что он возвращает в моем python code.
const char* main(int argc , char* argv[])
{
printf("Hello World from C \n");
printf("1st string passed is %s \n ",argv[1]);
printf("2nd string passed is %s \n ", argv[2]);
char b[] = "success";
return b;
}
Это код в C, откуда я sh возвращает строку в код python.
import subprocess
import os
def excuteC():
s = subprocess.call("./Cvishad hello you;", shell = True)
print("status is "+ str(s))
if __name__=="__main__":
excuteC()
Это код в python, где я звоню код C. Кажется, это работает, но я думаю, что он возвращает указатель / адрес, но не фактическую строку "success", которую я хочу. Вывод, который я получаю, выглядит примерно так:
Hello World from C
1st string passed is hello
2nd string passed is you
status is 80
Я впервые пробую что-то в C, поэтому прошу прощения за глупые ошибки.