我正在使用gSystem
在我的ROOT代码中执行shell命令,返回int
,如gSystem->Exec()所示。但是当我尝试将输出分配给代码变量时,分配不会发生。
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
,但它没有成功。
我错过了一些明显的东西吗?
答案 0 :(得分:0)
gSystem-> Exec()的返回值为0或-1,具体取决于命令是否成功。
你想要的是:
TString GetFromPipe(const char* command)
TString the_output=gSystem->GetFromPipe("ls ./folder | egrep -o '[0-9]{3,3}' | head -1");
应该可以工作,你只需要将TString转换为int。