한때 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)"