Я разрабатываю в то время небольшую Filestoresystem, которая должна хранить некоторые файлы, такие как .png
и так далее. , Таким образом, я читаю байты из .png
в файле char
, и размер вектора совпадает с размером изображения (это должно быть ОК). Затем я хотел сохранить байты в другом .png
.Сохранение других файлов в собственном хранилище данных с помощью fstream
На самом деле, я создал файл успешно, но Файл полностью пуст.
Вот самый важный код, я думаю:
void storedFile::saveData(char Path[]){
std::fstream file;
file.open(Path,std::ios::trunc|std::ios::out|std::ios::binary);
if(!file.is_open())
std::cout << "Couldn´t open saved File (In Func saveData())" << std::endl;
file.write((char*)&Data,sizeof(char) * Data.size());
file.close();}
Я думаю, что я сделал это правильно, но это не работает.
Опять же, байты .png
хранятся в Data
. Я тестировал после каждого открытия и чтения, если он был открыт и так далее, все работало нормально (коды ошибок не появлялись).
Мы не знаем, что ' Data', а также почему 'std :: fstream :: write()' будет знать, что с ним делать. –
Я не вижу здесь ничего плохого, возможно, вы могли бы добавить строку, в которой будете объявлять данные, а также распечатать результат file.write и file.close. – Marco
Как мы узнаем, что Data.size()> 0? И что такое Data так или иначе? – Arkadiy