Решенный! спасибо всем вам. Мой день был сделан! (Ну утром, его 4 часа ночи)C++ редактировать двоичный файл с другим
Я пытаюсь написать программу на C++, которая открывает файл .dat в двоичном формате и заменяет первые 1840 шестнадцатеричных символов на другой файл .dat, оставляя остальные шестнадцатеричные значения первого .dat-файла одинаковым. Сегодня я провел около 12 часов, и у меня был небольшой успех. Я начинающий программист, я потратил один семестр на курсы C++, и мы не попали в потоки.
(он открывает файл и все, но удаляет все, что после того, как новые значения были добавлены)
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
#include <cmath>
#include <cstring>
using namespace std;
int main(){
string filename;
long size;
char* memblock;
cout << " Enter a file to be modded by Mod.dat ";
cin >> filename;
ofstream infile (filename ,std::ofstream::binary);
//filename: the file that will be opened and changed)
ifstream modFile ("Mod.dat", ifstream::binary);
// (mod.dat is the file that i get the first 1840 hex values from)
modFile.seekg (0,modFile.end);
size = modFile.tellg();
memblock = new char [size];
modFile.seekg (0, ios::beg);
modFile.read (memblock, size);
infile.write(memblock, 1840);
modFile.close();
infile.close();
cout << endl;
return 0;
}
Любая помощь будет принята с благодарностью, я надеюсь, что есть некоторые простой способ сделать это.
Решенный! спасибо всем вам. Мой день было сделано (ну утром, его 4 утра)
Я предлагаю вам удалить [] ваш memblock где-нибудь – doctorlove