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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
StronglovE
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 4
#1

Бинарный файл - C++

15.04.2014, 10:32. Просмотров 461. Ответов 8
Метки нет (Все метки)

Есть бинарный файл, заполненный числами в 16-ричной форме а также разного рода символами. Необходимо проверить есть ли сочетание FFFF, если есть подсчитать количество и вывести на экран.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2014, 10:32     Бинарный файл
Посмотрите здесь:

Бинарный файл - C++
Всем добрый день. Почему программа не записывает в бинарном формате? #include "stdafx.h" #include <iostream> #include <string> ...

Бинарный файл - C++
В файл, помимо нужного, записывается, почему-то, буква "М", что не так? void add(fstream& stream, SportBeg& sportBeg, int n) { ...

Запись в бинарный файл - C++
Всем привет. Столкнулся с следующей проблемой при написании курсача,а именно с записью в бинарный в файл: дело в том, что я каждый раз...

Запись в бинарный файл - C++
Скажите пожалуйста, правильно ли работает моя программа? (Имеется ввиду запись в бинарный файл) #include "stdafx.h" #include...

Скопировать бинарный файл - C++
Нужно скопировать бинарный файл. Копировать нужно блоками по 256 байт. Запись работает отлично, а вот не могу считать никак Вот мои...

Не записывается бинарный файл:( - C++
Здравствуйте. Программа читает четыре числа типа double в текстовом файле и записывает их в бинарный файл в той же последовательности....

Запись в бинарный файл - C++
Подскажите как записать данные из StringGrid в бинарный файл и компоновка допустим из 2 StringGrid построчно

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zelen
376 / 291 / 17
Регистрация: 10.07.2010
Сообщений: 775
Завершенные тесты: 2
15.04.2014, 11:06     Бинарный файл #2
FilleStrem и считывать байты, хоть блоками по 2 байта, хоть блоками кратными 2-ум) и если 2 байта равны 255 то это FFFF
StronglovE
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 4
15.04.2014, 12:13  [ТС]     Бинарный файл #3
FileStream вроде для с#. Хотелось бы для C++ и для консольного приложения.
zelen
376 / 291 / 17
Регистрация: 10.07.2010
Сообщений: 775
Завершенные тесты: 2
15.04.2014, 12:32     Бинарный файл #4
опс извиняюсь)
newbie666
Заблокирован
15.04.2014, 12:44     Бинарный файл #5
ну открывай ты свой файл и ищи свои сочетания байтов при помощи std::fstreаm, в чём конкретно твоя проблема? в лени что ли?

Добавлено через 1 минуту
Цитата Сообщение от StronglovE Посмотреть сообщение
Есть бинарный файл, заполненный числами в 16-ричной форме
в бинарном файле вся информация в двоичном виде
StronglovE
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 4
15.04.2014, 12:58  [ТС]     Бинарный файл #6
Мне не понятна сама реализация побайтного чтения и сравнения с искомым числом. Начал разбераться с С++ недавно, потму прошу не судить строго.

Добавлено через 38 секунд
Да.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
15.04.2014, 13:31     Бинарный файл #7
StronglovE, я думаю проще всего прочитать файл целиком в буфер, дальше в цикле проверять каждую пару байт с искомым числом.

проверять можно, например, с помощью memcmp
newbie666
Заблокирован
15.04.2014, 13:42     Бинарный файл #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от StronglovE Посмотреть сообщение
Да.
что да? Лентяй?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <tchar.h>
#include <iostream>
#include <fstream>
#include <vector>
 
int _tmain(int argc, _TCHAR* argv[])
{   
    unsigned int matchesFound = 0;
    std::vector<char> oneItem;
    std::fstream fs(L"data.bin", std::ios::in | std::ios::binary);
    while (true)
    {
        char tmp;
        fs.read(&tmp, 1);
        if(fs.eof())
            break;
        if(tmp == (char)0xff)
        {
            oneItem.push_back(tmp);
            if(oneItem.size() == 2)
            {
                matchesFound++;
                oneItem.clear();
            }
        }
        else
            oneItem.clear();
    }
    fs.close();
 
    std::cout << "Number of '0xFFFF' matches found: " << matchesFound << std::endl;
    system("pause");
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2014, 14:00     Бинарный файл
Еще ссылки по теме:

Запиcь в бинарный файл - C++
Доброго всем времени. Пытаюсь написать программу. ” Запишите в бинарный файл последовательность чисел от 0 до 100, затем выведите четные...

Запись в бинарный файл - C++
По заданию требуется организовать ввод данных типа структуры в бинарных файл , в соответствии с позицией, задаваемой пользователем. При...

Добавление в бинарный файл - C++
#include &lt;cstdlib&gt; #include &lt;cstring&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cstdio&gt; using namespace std; int...

Бинарный файл с настройками - C++
Здравствуйте, сделайте пожалуйста функции для записи и чтения информации из/в бинарных файлов. Сколько искал, ничего понятного не нашел....

Вывод в бинарный файл - C++
Надо вывести последовательность 0 и 1 в бинарный файл так чтобы это был двоичный код,т.е. каждый символ весил 1 бит


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
StronglovE
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 4
15.04.2014, 14:00  [ТС]     Бинарный файл #9
Спасибо, разобрался.
Yandex
Объявления
15.04.2014, 14:00     Бинарный файл
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru