Hi Daniela, You can do something like: { const char *basename; TString completepath = "/user/daniela/mydir/"; TList *filelist = new TList; void *dirhandle = gSystem->OpenDirectory("."); //current dir while ((basename = gSystem->GetDirEntry(dirhandle))) { if (!strstr(basename, ".root")) continue; TString fullname = completepath + basename; filelist->Add(new TObjString(fullname)); } filelist->ls(); } Rene Brun Daniela Kaefer wrote: > > Hello, > > I want to fill .root-files in a certain directory into a filelist. I used to do > this with char, but now "completepath" has to be of type TString... Can anybody > help me, please? I do not need basename, dirhandle or fullname any further, > just completepath. Thanks for any tipp. > > const Text_t *basename; > TList *filelist = new TList; > while ((basename = gSystem->GetDirEntry(dirhandle))) { > // skip non-root files > //-------------------- > if (!strstr(basename, ".root")) continue; > Text_t *fullname = new > Text_t[strlen((Char_t)completepath)+strlen(basename)+2]; > strcpy(fullname, (Char_t)completepath); > strcat(fullname, "/"); > strcat(fullname, basename); > > // fill root-file names into <filelist> > //------------------------------------- > filelist->Add(new TObjString(fullname)); > rootfiles++; > delete fullname; > } > > Cheers, Daniela > > +------------------------------------------------------------+ > | Daniela Kaefer | email: kaefer@physik.rwth-aachen.de | > | III. Phys.Institut A | kaefer@fnal.gov \_L_/ | > | Physikzentrum | /* *\/ | > | 52056 Aachen | work: +49-(0)241-80-27243 \_*_/\ | > | Germany | home: +49-(0)2472-7163 / | \ | > +------------------------------------------------------------+
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET