> Hi Ed, > > Sorrowfully, this is C++ syntax. In a C++ string '\' is used as an escaped > character. You need to first transfer the %1 in doubling the \. > > An alternative is to write a very small C++ program that would > > - tranform argc[1] to double the '\'. I agree then you can use system call tostart ROOT . . . #include "TString.h" int main(argc,argv){ TString rootCmd = "start root "; rootCmd += argc[1]; rootCmd.ReplaceAll("\\","/"); system(rootCmd.Data()); } Of course instead TString you may use something else. > - create a string toe say myScript.cpp(\"...") > - call gROOT->ProcessLine(cmd) I think for Windows you can do int main(argc,argv){ } > > Cheers, > Philippe > -----Original Message----- > From: owner-roottalk@pcroot.cern.ch > [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Ed Oltman > Sent: Tuesday, June 18, 2002 9:20 AM > To: Roottalk@Pcroot. Cern. Ch > Subject: [ROOT] parsing input line to root > > > Hi, > I am using root v3.02/07 on Win32. I have made an OS association of the > file type .root to launch root using the the following: > > %rootsys%\bin\root %rootsys\myScript.cpp(\"%1\") > > So, for example, when I double click (or type from dos prompt) abc.root, the > following is exected: > > c:\root\bin\root c:\root\myScript.cpp("c:\analysis01\abc.root") > > > So far, so good. Root reports: > > Processing c:\root\myScript.cpp("c:\analysis01\abc.root")... > > The problem is, somewhere in the depths of the CINT (I lost the thread > within TCint::ProcessLineSynch) the argument to my script is transformed: > > "c:\analysis\abc.root" --> "c:analysis0bc.root" > > and of course, it does'nt work. If I could coax windoze into replacing "\" > with "\\" everywhere, the association would work perfectly. > > Is there a way to instruct CINT not to treat a slash as a special character? > Thanks. > > Ed Oltman > > > > myScript.cpp looks like: > > class CManage; > void myScript(char *fname) > { > gROOT->Reset(); > gROOT->LoadMacro("myAnalysis.dll"); > CManage *pM = new CManage; > pM->RestoreAnalyzed(fname); > } > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:57 MET