ostream памылка. Хто-небудзь можа адладзіць гэта?

Я хачу, каб наступныя значэнні павінны быць запісаныя ў файл з дапамогай ostream ???

int main ()
{
  FILE * pFile;
  pFile = fopen ("myfile.txt","w");
  if (pFile!=NULL)
  {
    fputs ("fopen example",pFile);
    fclose (pFile);
  }
  pFile<< "r "<<" " <<"ggjjsss" <<'_'<<"gggjj"<< " " << "HLLO " <

I am getting the following error.. error: invalid operands of types 'FILE*' and 'const char [3]' to binary 'operator<<'

1

3 адказы

FILE * is not a ostream in the sense of C++'s standard library. Use fstream instead (or ofstream). Look here for an example: cplusplus.com's fstream reference

2
дададзена
Ці ёсць спосаб, што я магу выкарыстоўваць ostream пісаць у файл ??
дададзена аўтар Invictus, крыніца
@Invictus, бібліятэка ўжо ўтрымлівае ofstream fstream , ifstream ); якія прызначаны для працы з файламі C ++.
дададзена аўтар iammilind, крыніца

Since you are dealing with FILE, I would say it's an ofstream error rather than ostream error. :) FILE is a C-style file i/o for which operator << is not overloaded.

You should use ofstream object for which the operator << is overloaded in the library.

#include

ofstream File("myfile.txt");
File<< "r "<<" " <<"ggjjsss" <<'_'<<"gggjj"<< " " << "HLLO " <
2
дададзена
Я атрымліваю наступнае паведамленне пра памылку, што гэта значыць ?? або: пераменная «станд :: ofstream Файл» мае инициализатора, але няпоўны тып
дададзена аўтар Invictus, крыніца
#include павінна дапамагчы.
дададзена аўтар Patrick B., крыніца
@Invictus, у вас #include у верхняй частцы?
дададзена аўтар iammilind, крыніца

Вы збянтэжаныя. У класічным сэнсе C «паток» з'яўляецца толькі тое, што вы можаце прачытаць/запісаць. У C ++ «патокі» з'яўляюцца адмысловымі аб'ектамі, якія адпавядаюць вельмі канкрэтнаму інтэрфейсу.

Stream operator << is available only in C++, therefore it would very logical not to expect it to work on classic C libraries

1
дададзена