Hi Exaos, Currently CINT does not import/have the operator>> for ifstream and std::string. As a work around use a simple C-string: ifstream idx_in("evnt_index.txt",ios::in); char evnt_fn[512]; idx_in >> evnt_fn; > How to make sure a file is open in root? I use this code: > Does the statement "assert()" work with CINT? What you propose should work in CINT. assert does work with CINT by returning to the ROOT/CINT prompt (after an error message) rather than stopping the program. Cheers, Philippe. PS. Read the posting guidelines at http://root.cern.ch/root/roottalk/RoottalkRules.html -----Original Message----- From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Exaos Lee Sent: Thursday, June 26, 2003 1:00 AM To: roottalk@listbox.cern.ch Subject: [ROOT] Basic file stream operation in ROOT Dear rooter, I want to read a string from an ASCII file. I use the following code: --- ifstream idx_in("evnt_index.txt",ios::in); std::string evnt_fn; .... idx_in >> evnt_fn; --- When root reaches "idx_in>>evnt_fn", it warns: ---- Error: operator>> not defined for basic_ifstream<char,char_traits<char> > FILE:e2r_1.C LINE:60 *** Interpreter error recovered *** ---- How to solve this problem? How to make sure a file is open in root? I use this code: ---- ifstream evnt_in; ... evnt_in.open(evnt_fn, ios::in | ios::binary); assert(evnt_in.is_open()); ---- Does the statement "assert()" work with CINT? Best regards. Exaos ################################################################# ################################################################# ################################################################# ##### ##### ##### ################################################################# ################################################################# #################################################################
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:13 MET