Форум программистов, компьютерный форум CyberForum.ru

Поиск числа в файле, открытым в бинарном режиме - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Упаковка std :: vector <bool> в байты http://www.cyberforum.ru/cpp-beginners/thread1182954.html
Добрый Вечер! возникла проблема: нужно элементы std::vector<bool> упаковать в байты для последующей записи в файл собственно, вопроса два: 1. как это сделать? 2. как потом нужно поступить с файлом (какие функции использовать и открывать ли файл в бинарном режиме для этого?)
C++ Проблема с перегрузкой операторов "+" и "+=" для классов Point и Circle Есть класс Point (элементы данных x,y) и класс Circle (элементы данных р(типа Point),r). Их заголовочные файлы: class Point { private: double x, y; public: Point(); Point(double a, double b); Point(const Point &obj); Point move(double a, double b); http://www.cyberforum.ru/cpp-beginners/thread1182914.html
Копировать элемент из массива в массив C++
У меня есть два динамические массивы skydiver **mas=new skydiver* skydiver **masinplane=new skydiver* Первый массив содержит следующие элементы. mas=new skydiverpro("Михайло",200,400,0,0);all++; mas=new skydiverbuff("Олександр",400,400,0,0);all++;
Описать класс, реализующий тип данных "вещественная матрица" C++
Задание: Описать класс, реализующий тип данных "вещественная матрица" и работу с ними. Класс должен реализовывать следующие операции над матрицами: 1. Методы, реализующие проверку типа матрицы (квадратная, диагональная, нулевая, единичная, симметричная, верхняя треугольная, нижняя треугольная). 2. Операции сравнения на равенство и неравенство. 3. Доступ к элементу по индексам Написать...
C++ Для знающих. Создаю меню в Borland C++, но что-то не работает, кто подскажет.что не так http://www.cyberforum.ru/cpp-beginners/thread1182904.html
Файл с программой прилагается. меню из 4 пунктов но почему то не отображает их, кто сможет исправьте и отправите правильный вариант. Заранее спасибо
C++ Динамический массив и объекты в нем, полиморфизм У меня есть два динамические массивы skydiver **mas=new skydiver* skydiver **masinplane=new skydiver* Первый массив содержит следующие элементы. mas=new skydiverpro("Михайло",200,400,0,0);all++; mas=new skydiverbuff("Олександр",400,400,0,0);all++; mas=new skydiver("Тимур",700,280,400,0);all++; подробнее

Показать сообщение отдельно
rusianvodka
0 / 0 / 0
Регистрация: 20.06.2013
Сообщений: 47
21.05.2014, 01:56     Поиск числа в файле, открытым в бинарном режиме
Здравствуйте уважаемые дамы и господа, возник вопрос по поводу поиска числа в бинарном файле.
Допустим имеется код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
#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 файл будет выводить иной результат(в зависимости от изменения).
Возник вопрос как данный поиск данного числа осуществить в коде на с++.
Погуглив и почитав литературу, получилось вот такое вот решения:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
Но к сожалению данный код не выполняется как задумано.
Буду благодарен за исправления и наставления. И решения проблемы неработоспособности данного кода.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru