Я перед фрагментом кода , который копирует файл на usb-устройство. Следующая часть является важной:
while((bytesRead = fread(buf, 1, 16*1024, m_hSource)) && !bAbort) {
// write to target
long bytesWritten = fwrite(buf, 1, bytesRead, m_hTarget);
m_lBytesCopied += bytesWritten;
Дело, по словам покупателя, довольно медленное по сравнению с обычной скоростью pc <-> usb. Я не кодировал это, поэтому моя работа - оптимизировать.
Поэтому мне было интересно, не лучше ли сначала прочитать файл целиком, а затем записать файл за один шаг. Но я не знаю, насколько это подвержено ошибкам. Код также проверяет после каждого шага копирования, все ли байты записаны правильно, так что это также может замедлить процесс.
Я не гуру C ++ и аппаратного обеспечения, поэтому я спрашиваю вас, ребята, как я могу ускорить процесс и сохранить успешное копирование.