LINUX.ORG.RU

не работает ifstream ЧТО ДЕЛАТЬ??!!!


0

0

ВОТ КОД
#include <fstream>
#include <iostream>

int main()
{
  using namespace std;
  ifstream inf("data.txt");
  while ( inf )
    {
        int val = 0;
	inf >> val;
        cout << val;
    }
}
ВОТ ВХОДНОЙ ФАЙЛ
1 2 3 4 5

ВОТ ВЫВОД ПРОГРАММЫ
123450

ПОЧЕМУ ДОБАВЛЯЕТСЯ НОЛЬ В КОНЦЕ?????
anonymous
Ответ на: комментарий от blackice

Не поможет. Нужно проверять на eof после последнего чтения из потока (что IMHO довольно очевидно).

anonymous
()
Ответ на: комментарий от anonymous

Я не понял?
Исправь пожалуйста мой пример! 

anonymous
()

>while ( inf )
> {
> int val = 0;
> inf >> val;
> cout << val;
>}

смотри:
ты читаешь символ
inf >> val
потом выводишь
cout<<val

а только потом проверяешь не был ли достигнут конец файл.

int val;
while (inf>>val)
cout<<val;

fghj ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.