Ошибка Cout Netbeans C ++ - PullRequest
       5

Ошибка Cout Netbeans C ++

1 голос
/ 30 июля 2010

У меня никогда не было этих ошибок в dev C ++. Когда я использую cout в Netbeans, это не дает мне совпадения с ошибкой оператора. Это моя программа

</p>

<p><code>#include <cstdlib>
</code>#<code>include <fstream>
</code>#include <code><iostream></code>
  using namespace std;</p>

<p>int main()
{
   //read file
   fstream fileStream;
   string tempStr;
   string strText;
   fileStream.open("fincode.htm", ios::in);
   while(!fileStream.eof())
   {
     fileStream >> tempStr;
     strText += tempStr;
     cout >> strText;
   }</p>

<pre><code>fileStream.close();
return 0;

}

Я получаю следующие ошибки при сборке

<code>
main.cpp: In function ‘int main()’:
make[1]: Leaving directory `/home/user/NetBeansProjects/read_page2'
main.cpp:31: error: no match for ‘operator>>’ in ‘std::cout >> strText’
make[2]: <strong>* [build/Debug/GNU-Linux-x86/main.o] Error 1
make[1]: *</strong> [.build-conf] Error 2
make: *** [.build-impl] Error 2

Я не получаю никаких ошибок, если удаляю cout. Есть идеи, что происходит?

Ответы [ 2 ]

2 голосов
/ 30 июля 2010

Добавить

#include <string>

и изменить

cout >> strText;

К

cout << strText; 
2 голосов
/ 30 июля 2010

Вам необходимо:

#include <string>

Кроме того, ваш цикл while неправильный - обычно вы не должны использовать функцию eof () в качестве элемента управления цикла - используйте:

  while( fileStream >> tempStr )
   {
     strText += tempStr;
     cout << strText;      // note operator <<
   }

И я только что заметил, что ваше утверждение cout тоже неверно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...