私は、ダブル結果を計算する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
はbashに戻すプログラムの結果を渡すための簡単な方法がありますスクリプト?私は終了コードの使用について読んでいますが、戻り値の型はdoubleなので、うまくいくとは思いません。プログラムが他の端末出力を持っているため、文字列出力から値を解析するのは扱いにくいです。
cout << result; ? – neagoegab
戻りコードは整数でなければなりません。周囲には戻りません。特殊なファイルに結果を書き込んだり、このファイルをbashで読むことができます。 – akhikhl
Unix環境でプログラム間でデータをやり取りする標準的な方法は、標準出力と標準入力によるものです。出力を印刷します。 –