C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Как прочитать файл до конца, используя класс CFile / Файлы, папки, диски / Файловая система

Как прочитать файл до конца, используя класс CFile.

Вопрос (Alessandro Chiodo):

Я использую в своём приложении класс CFile. При помощи этого класса я открываю файл, считываю и записываю в него. Но у меня не получается считать файл до конца (EOF). Обрабатываю CFileException::endOfFile, однако получаю бесконечный цикл.

Ответ (Paul DiLascia):

Странно, не так ли ? Когда при считывании файла мы доходим до конца, то ожидаем получить исключение конца файла. А иначе для чего ещё придумана endOfFile ? Однако, в данном случае MFC не использует CFileException::endOfFile. Для определения конца файла нам потребуется проверить, является ли количество фактически считанных байт меньше чем количество запрошенных.

CFile file;
file.Open();
char mybuf[BUFSIZ];
UINT nread;
do (nread=file.read(buf, BUFSIZ)) {
  •••
// обрабатываем nread байт

} while (nread==BUFSIZ);

Данный способ может показаться странным, но не я же придумывал эти правила.