0

Никак не могу решить проблему со считыванием файла. По задумке в вектор должны записываться целочисленные значения из файла, но при проверке того, что попало в вектор, уходит в бесконечный вывод непонятного мне числа. Подскажите, пожалуйста, в чем проблема.(в файле цифры через пробел: 1 1 1 3 3 5 5 5 7 7 9 9 9)

#include <iostream>
#include <vector>
#include <fstream>
#include <string>
using namespace std;

int main() { setlocale(LC_ALL, "ru");

int n;
vector &lt;int&gt; SpisOchek;
ifstream file(&quot;C:\\Morkovb.txt&quot;);
while (!file.eof())
{
    int n;
    file &gt;&gt; n;
    SpisOchek.push_back(n);
    cout &lt;&lt; n &lt;&lt; endl;
}
file.close();
for (int i=0; i&lt; SpisOchek.size(); i++)
{
    cout &lt;&lt; SpisOchek[i] &lt;&lt; endl;
}
return 0;

}

  • кто вам учит писать !file.eof() такое условие? И при чем тут С++ язык, который по вашему не считывает? Язык вообще не может ничего считывать, переформулируйте заголовок. На подобные вопросы были многочисленные ответы в сайте.... – AR Hovsepyan Dec 06 '22 at 19:38
  • while (true) { int n; if( not( file >> n ) ) break;... – AlexGlebe Dec 06 '22 at 19:44
  • 1
    Скорее всего, у вас не открылся файл. Вы бы выполнили проверку того, открыт он или нет... while (!file.eof()) тоже ошибка, но не с таким эффектом. А если после последнего числа нет никаких символов, то и вовсе без эффекта :) – Harry Dec 06 '22 at 20:04

0 Answers0