вот такая ситуация --------------------------- $ ls -l -rwxr-xr-x 1 vinick vinick 9935 2006-10-26 01:21 test -rw-r--r-- 1 vinick vinick 253 2006-10-26 01:21 test.cpp -rw-r--r-- 1 vinick vinick 108 2006-10-26 00:01 test.in $ cat test.cpp #include <fstream> #include <iostream> int main(int argc,char **argv) { std::ifstream istr(argv[1]); char c; int cnt=0; while(!istr.eof()) { istr.read(&c,sizeof(char)); cnt++; } std::cout << cnt << std::endl; return 0; } $ ./test test.in 109 ------------------- получается что eof устанавливается только после попытки чтения несуществующего байта? Это что так и должно быть?
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум std::cout вместе с std::wcout (2009)
- Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
- Форум Не работает условие !EOF. (2004)
- Форум Баг в gcc? (2010)
- Форум C++ простая программа (2014)
- Форум не работает ifstream ЧТО ДЕЛАТЬ??!!! (2005)
- Форум ofstream (2006)
- Форум Не компилируется программа :( (2008)
- Форум Бинарь не видит EOF (2012)
- Форум Почему ifstream не читает нормальные значения из sysfs? (2020)