Добрый день, интересует проблема eof в std::ifstream, но индикатор на eof видимо работает некорректно, из-за чего цикл становится бесконечным
while (!fin.eof())
{
fin.read(&arr[count], size);
count += fin.gcount();
if(fin.gcount() == size)
{
overSize += size;
std::unique_ptr<char[], decltype(std::free) *> temp(static_cast<char *>(realloc(arr.get(), overSize)), std::free); // просто чтение в некий массив расширяемый
arr.release();
std::swap(arr, temp);
}
}
В чем проблема данного цикла?