我有一个用于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)写入目录。为什么我不能打开文件进行写作?
答案 0 :(得分:0)
这是我的错。输入/path/to/my/output.txt有一个额外的字符,所以它试图打开的目录在技术上并不存在。