이중 결과를 계산하는 C++ 프로그램 (Linux)을 가지고 있으며 프로그램을 여러 번 실행하는 bash 스크립트를 작성하고 나를. 단순화를 위해, 다음 코드를 고려하십시오C++ 프로그램에서 bash 스크립트로 값 반환하기
MAIN.CPP :
int main() {
cout << "Some other stuff\n";
double result = foo();
return 0;
}
script.sh :
sum = 0
num = $1
for((i = 0; i < $num; i++)); do
result = ./a.out; #store the result somehow?
sum = $sum + $result
done
avg = $sum/$num
echo "Average: " $avg
배쉬로 다시 프로그램의 결과를 전달하는 쉬운 방법이 있나요 스크립트? 나에 대해 종료 코드를 사용하여 읽었지만, 반환 형식이 이중이므로 작동하지 않을 것이라고 생각합니다. 프로그램이 다른 터미널 출력을 가지고 있기 때문에 문자열 출력에서 값을 파싱하는 것은 어렵습니다.
cout << 결과; ? – neagoegab
리턴 코드는 정수 여야합니다 - 주위에는 리턴 코드가 없습니다. 결과를 특수 파일에 쓰고이 파일을 bash로 읽을 수 있습니다. – akhikhl
Unix 환경에서 프로그램간에 데이터를 전송하는 표준 방식은 표준 출력과 표준 입력을 사용하는 것입니다. 출력물을 인쇄하십시오. –