Задать вопрос
@gth-other

Как можно без сторонних библиотек быстро и кроссплатформенно прочитать или записать некоторый кусок байтов с диска или на диск?

Допустим, у меня есть ssd / жесткий диск / флешка или какое-либо другое бытовое цифровое устройство для хранения информации. На нем может быть абсолютно любая файловая система, а может и не быть вовсе. Существует ли способ без сторонних библиотек быстро и кроссплатформенно (по крайней мере, чтобы с минимальными изменениями работало в Linux, MacOS и Windows) загрузить в оперативную память или перезаписать на некоторые данные кусок байтов, находящийся между двух байтов с заданными номерами?
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Во всех перечисленных ОС, диск - это просто файл c именем, которое формируется по определенным правилам, например "\\.\PhysicalDriveX" для Windows, или /dev/sdX для Linux

Таким образом, ваша задача сводится к работе с байтами в этом файле. У приложения должно быть достаточно прав для этого.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Проще всего с этим работать на линуксе. Эта операционка отображает все диски на блочные устройства /dev/* и позволяет с ними работать просто как с очень большими файлами.

Разумеется права суперпользователя тебе пригодятся. Механизмы безопасности никто не отменял. В Windows тоже есть аналог для таких устройств.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы