打开输出流的错误

Error in opening an output stream

本文关键字:错误 输出流      更新时间:2023-10-16

在我的代码中,我正在打开一个输出流并将数据附加到文件末尾。如果没有此类文件,则流应该创建一个,而是它确实可以创建一个。不是。

这是代码段:

char output_file[100];
strcpy(output_file, predicate.c_str());            
ofstream output_file_ptr1; 
output_file_ptr1.open(output_file,ios::out | ios::app | ios::binary );
if(output_file_ptr1.is_open()){
        output_file_ptr1 << subject <<" " << object <<"n";
        output_file_ptr1.close();
}
else{
            printf("Error opening out file n");
            return -1;
}

主题,对象和谓词是我之前创建的可变字符串。

任何想法不会创建文件? 对我来说,数据附加到文件末尾非常重要。

更新:谓词是我需要的确切文件名,但这不是通常的命名,即

&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type>

是一个示例

在大多数环境中,诸如<w3.org/1999/02/22-rdf-syntax-ns#type>之类的值不是有效的文件名。UNIX风格的操作系统(例如Linux)在文件名中不支持"/"(除非目录结构匹配)。