为什么不能在我的cern root宏中打开一个文件?

时间:2018-02-13 03:37:24

标签: c++ macros root-framework

我有一个用于CERN的ROOT(v5.34.32)保存到mscwreader.C的宏:

#include <fstream>
void mscwreader( char * outputtext )
{ 
  ofstream myfile ;
  cout << "Opening file" << endl;
  cout << outputtext << endl;
  myfile.open( outputtext, ios::in|ios::out ) ;
  if ( myfile.is_open() )
  {
    myfile << "test\n" ;
    myfile.close();
  }
  else cout << "Unable to open file";
  return ;
}

我使用命令

运行
$ root -b -l -q -x "mscwreader.C(\"/path/to/my/output.txt\")"

但宏无法打开文件,输出:

Processing     mscwreader.C("/path/to/my/output.txt")...
Opening file
/path/to/my/output.txt
Unable to open file

我有权限(drwxr-xr-x)写入目录。为什么我不能打开文件进行写作?

1 个答案:

答案 0 :(得分:0)

这是我的错。输入/path/to/my/output.txt有一个额外的字符,所以它试图打开的目录在技术上并不存在。