2

ここgSystem->Exec()gSystemに見られるように、を返すを使用してROOTコードでシェルコマンドを実行しています。しかし、出力をコード変数に割り当てようとすると、割り当ては行われません。int

int low_edge = 0;
low_edge = gSystem->Exec("ls ./folder | egrep -o '[0-9]{3,3}' | head -1");

私も試しgSystem->Exec("ls ./folder | egrep -o '[0-9]{3,3}' | head -1") >> low_edgeましたが、うまくいきませんでした。

明らかな何かが欠けていますか?

4

1 に答える 1

0

gSystem->Exec() の戻り値は、コマンドが成功したかどうかに応じて 0 または -1 になります。

あなたが望むものは:

TString GetFromPipe(const char* コマンド)

TString the_output=gSystem->GetFromPipe("ls ./folder | egrep -o '[0-9]{3,3}' | head -1");

動作するはずですが、TString を int に変換するだけです。

于 2015-06-12T08:16:35.643 に答える