теоретически можно создать приложение, которое будет не создавать новый файл а редактировать уже созданный, и в этих апдейтах хранить файлы (настоятельно рекомендую проверить работу в режиме когда файлу увеличивается в размерах, и когда файл изначально занимает все доступное место)
вполне возможно какое-нибудь расширение работы с архивами zip/tar (особенно без сжатия) вполне именно так и работает
если планшеты у тебя на android то с usb sata-box у тебя не должно быть проблем для работы сдиском, но могут возникнуть проблемы с ExFAT файловой системой но решаемые приложением из гуглпей от paragorn software
причем тут старость компьютера, когда при выборе ssd нужно знать способ его использования и как много данных ты на него собираешься записывать.
округлять и делить стоимость ssd по емкости ну точно неправильно, возможно где то у серверных железок зависимость станет строгой, но у lowend все хаотично и можно встретить рядом железки по одной цене от разных noname китайцев с различиями в емкости в 4 раза.
p.s. я бы советовал брать apaser, adata с ними я работал, проблемы реже всего а при наличии норм гарантии в 3 года проблемы брака не так критичны.
поставь между чужим сервером и своими клиентами свой промежуточный сервер и делай все что необходимо
websocket как сервер так и клиент есть асинхронные реализации и на nodejs, например
как получить сырой поток данных смотри в гугле, первая же статья со ссылками на документацию
visual studio знает чем является этот void** так как он генерируется компилятором, либо оно хранит это в отладочной информации либо просто захардкожено
sqlite все это тебе предоставит, без отдельного сервера под db так как это база данных в файле, работающая в приложении
p.s. кстати у mysql так же есть такой режим libmysqld
Смотри сообщения об ошибках как в коде так и в консоли, зачем гадать и спрашивать других, вообще поиск и исправление ошибок это то что программиста делает программистом
Qubc, настоятельно рекомендую в любых ситуациях неоднозначности не надеяться на версию компилятора или даже стандарты (они меняются), а явно указывать компилятору как все это разруливать, в данном случае явно кастовать типы
если у тебя каждый элемент имеет разный размер, то делай массив указателей на объекты
если тебе где то нужно разместить последовательно рядом эти данные, то вручную считай их размер (sizeof корректно показывает размер объекта, созданного через template), кстати в случае самостоятельного размещения объектов внутри своего массива, malloc для каждого не потребуется как и вызов delete (кроме наличия других действий, необходимых для удаления объекта)
p.s. скажи наконец задачу свою, что у тебя в этом buf, зачем тебе int a и т.п.