Linux에서 파일이나 Python 스크립트를 사용하여 argv 매개변수를 C 프로그램에 전달하는 방법은 무엇입니까?

Linux에서 파일이나 Python 스크립트를 사용하여 argv 매개변수를 C 프로그램에 전달하는 방법은 무엇입니까?

한때 Python 스크립트를 작성하고 파이프를 사용하여 C 프로그램에 입력으로 보내서 C 프로그램에 입력을 전달할 수 있었습니다.

또는 Python 스크립트의 출력을 파일에 쓰고 gdb에서 r < myfile을 실행합니다.

하지만 argv 매개변수를 C 함수에 어떻게 전달합니까?

긴 매개변수를 전달해야 하고 Python의 인쇄 기능을 사용하여 값을 생성해야 하는데 이를 C 프로그램에 전달하는 방법을 모르십니까? 파이프 또는 < 사용은 작동하지 않습니다.

예를 들어 python x.py | myprogram을 실행하면 작동하지 않고 나중에 myprogram python x.py와 같은 myprogram을 사용하면 작동하지 않습니다. 출력을 해당 프로그램에 argv 인수로 전달하려면 어떻게 해야 합니까?

답변1

당신이 찾고 있는 것 같아요

myprogram "$(python x.py)"

이는 스크립트의 출력을 가져와서 myprogram( ) argv[1]의 첫 번째 인수 로 사용합니다.

파일의 내용을 첫 번째 인수로 사용하려면 myprogram대신 cat파일을 사용하세요.

myprogram "$(cat file)"

관련 정보