ostream错误。任何人都可以调试吗?

时间:2011-10-28 11:28:02

标签: c++ filestream iostream

我希望使用ostream ???

将以下值写入文件
int main ()
{
  FILE * pFile;
  pFile = fopen ("myfile.txt","w");
  if (pFile!=NULL)
  {
    fputs ("fopen example",pFile);
    fclose (pFile);
  }
  pFile<< "r "<<" " <<"ggjjsss" <<'_'<<"gggjj"<< " " << "HLLO " <<endl;
}

我收到以下错误.. 错误:类型'FILE *'和'const char [3]'到二进制'运算符的无效操作数&lt;&lt;'&lt;'

3 个答案:

答案 0 :(得分:2)

FILE *不是C ++标准库意义上的ostream。改为使用fstream(或ofstream)。在这里查看示例:cplusplus.com's fstream reference

答案 1 :(得分:2)

由于您正在处理FILE,我会说这是ofstream错误,而不是ostream错误。 :) FILE是一个C风格的文件i / o,operator <<没有重载。

您应该使用库ofstream重载的operator <<对象。

#include<fstream>

ofstream File("myfile.txt");
File<< "r "<<" " <<"ggjjsss" <<'_'<<"gggjj"<< " " << "HLLO " <<endl;

答案 2 :(得分:1)

你很困惑。在经典C语义中,“stream”只是您可以读/写的内容。在c ++中,“streams”是特殊对象,符合非常具体的界面。

流运营商&lt;&lt;仅在C ++中可用,因此不期望它适用于经典C库

是非常合乎逻辑的