0

私は既存のプロジェクトにプラグインを追加してきましたが、それはperlスクリプトと結びついています。Cプログラムをperlスクリプトに追加して出力ファイルを作成しようとしていますが、出力がガベージであるか欠落しています。

私の実行可能ファイルが呼び出さInterpolateれ、perlスクリプトと同じフォルダーにある場合は正常に機能しています

./Interpolate inv.tracking_log

コマンドの実行方法です。と呼ばれる中間tmp.logファイルと、と呼ばれる最終ファイルを生成する必要がありますout.txt。ディレクトリで実行すると、問題なく動作します。どちらのファイルも正常です。

それで私はperlスクリプトにシステムコールを追加しました(私はperlをほとんど知りません):

print("./Interpolate $inVideoFile");      //prints like the command (just a test)
my $interCall = system("./Interpolate $inVideoFile");

perlスクリプト内から実行すると、tmp.logファイルはほとんどがガベージであり、out.txt完全に欠落しています。ファイルに依存しているため、outが欠落している可能性が高いことを私は理解していtmp.logます。どこかに欠けているperl「gotchya」はありますか?

4

1 に答える 1

2
system("./Interpolate $inVideoFile");

する必要があります

system("./Interpolate", $inVideoFile);

それを修正した後もまだ問題がある場合$inVideoFileは、必要なものが含まれていないか、C プログラムにバグがあります。system(呼び出しの戻り値は何ですか?)

于 2012-06-13T16:49:03.153 に答える