посчитать кол-во чисел в файле. Я делаю так:
std::ifstream f(fileName, std::ios::binary);
size_t total = 0;
for(uint x; f.read((char*)&x, sizeof(uint));)
{
++total;
}
Преподаватель сказал, что можно сделать за О(1), но я не понимаю как, есть какие идеи?
И еще, самый оптимальный способ полностью скопировать содержимое одного файла в другой - это читать массивами? Или можно оптимальней?
Размер файла поделить на размер uint64_t
И еще, самый оптимальный способ полностью скопировать содержимое одного файла в другой - это читать массивами? Или можно оптимальней? Читать и писать достаточно большими блоками.
Размер файла вычислять не через каталог OS, а через seekg/tellg
Обсуждают сегодня