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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.