打开输出流时出错

时间:2016-12-06 12:04:56

标签: c++ ofstream

在我的代码中,我打开一个输出流并将数据附加到文件的末尾..如果没有这样的文件,流应该创建一个,但问题不是。

这是代码段:

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;
}

subject,object和predicate是我之前创建的变量字符串。

知道它不会创建文件吗? +对我来说非常重要的是数据被附加到文件的末尾。

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

  

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

是一个例子

1 个答案:

答案 0 :(得分:1)

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