Здравствуйте уважаемые дамы и господа, возник вопрос по поводу поиска числа в бинарном файле.
Допустим имеется код:
#include <iostream>
#include <conio.h>
using namespace std;
void main(){
int t = 247;
t = t - 246;
cout << t << endl;
_getch();
}
Данный код скомпилирован и выполняется, из него получается .exe файл.
Данный .exe файл после, я открываю с помощью hiew32(hex - editor) и могу с лёгкостью найти число 247 для его изменения. После .exe файл будет выводить иной результат(в зависимости от изменения).
Возник вопрос как данный поиск данного числа осуществить в коде на с++.
Погуглив и почитав литературу, получилось вот такое вот решения:
ifstream file_op(m_FileIn, ios::binary);
if (!file_op) return 0;
int buf[1024];
int a = 247; // то что мы ищем
int z = 0; // счётчик поиска
do {
file_op.read((char *)buf, sizeof buf);
for (int i = 0; i < 256; i++)
{
if (buf[i] == a)
z++; // счётчик(после полного прохода по файлу должен быть равен 1.)
}
} while (!file_op.eof());
file_op.close();
return false;
Но к сожалению данный код не выполняется как задумано.
Буду благодарен за исправления и наставления. И решения проблемы неработоспособности данного кода.