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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 287
#1

Способ прочитать файл с базой данных - C++

25.11.2013, 10:58. Просмотров 1585. Ответов 57
Метки нет (Все метки)

есть база данных в формате .dat
есть файл с структурами и типами в формате .h

что использовать какие компоненты или sql тут потребуется чтобы вывести базу данных, просьба подсказать! пожалуйста!

Добавлено через 36 минут
формат .data... прошу прощение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 10:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Способ прочитать файл с базой данных (C++):

Прочитать файл в обратном порядке т.е. встать в конец файла и прочитать до начальной позиции - C++
подскажите пожалуйста как можно прочитать файл в обратном порядке т.е. стать в конец файла и прочитать до начальной позиции?

Открыть файл, прочитать. Все, что находится после двоеточия перенести в другой файл - C++
Работа с текстовыми файлами Друзья, подскажите, имеется файлик *.txt в нем в строчку набор символов (разной длины), часть символов...

Данные записать в файл F1.txt, затем прочитать оттуда, обрабатывались и записывались в бинарный файл F2.bin с проверкой - C++
Никак не получается отладить в BC++ 3.1. Как сделать в классах так, чтобы введённые данные записывались в файл F1.txt, затем читались...

составить программу,которая создает файл, состоящий из 10 значений типа int. прочитать файл и вычислить сумму его элементов - C++
составить программу,которая создает файл, состоящий из 10 значений типа int. прочитать файл и вычислить сумму его элементов

самый короткий способ открыть файл - C++
итак, задача: открыть файл input.txt считать с него цифру и вывести в output.txt. Нужен самый короткий код!:rtfm: #include <fstream> ...

База данных "Телеателье": создать систему управления базой данных (СУБД) - C++
Задача: Создать систему управления базой данных (СУБД) в которой предусмотреть следующие режимы: создание БД, вывод БД, добавление...

57
newbie666
Заблокирован
25.11.2013, 13:47 #16
ну в файле другие данные )))

Добавлено через 10 секунд
или структура данных не корректная
1
gazlan
3132 / 1908 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
25.11.2013, 14:11 #17
Данные начинаются со смещения 0x88. То есть, первые 0x88 байт - это заголовок.
Размер блока - 0x76 - проверьте опции выравнивания (alignment) для вашей структуры.
1
Миниатюры
Способ прочитать файл с базой данных  
gazlan
3132 / 1908 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
25.11.2013, 14:23 #18
Цитата Сообщение от gazlan Посмотреть сообщение
Размер блока - 0x76
Fix: Размер блока - 0x5A - уточнил по текстовым меткам в файле.
1
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
25.11.2013, 15:02 #19
Цитата Сообщение от lips Посмотреть сообщение
она корректно записана... другая программа читает...
Здесь неважно как его читает другая программа. Вам дали исходник с считыванием бинарного файла, а Вы текстовый файл подсовываете.
0
gazlan
3132 / 1908 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
25.11.2013, 15:38 #20
Цитата Сообщение от kazak Посмотреть сообщение
текстовый файл
Ни разу не текстовый :-)
1
Миниатюры
Способ прочитать файл с базой данных  
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
25.11.2013, 15:44 #21
gazlan, и что это?
0
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 287
25.11.2013, 15:49  [ТС] #22
смещение 141байт... но как пропустить их?

Добавлено через 1 минуту
если структуру создать так... читается корректно.. но в этой структуре много элементов
C++
1
2
3
4
5
6
7
8
9
10
struct EQUIPMENT_ADDON {
    char a [141];
    int id;
    wchar_t name[32];
    int type;
    int num_params;
    int param1;
    int param2;
    int param3;
};
0
gazlan
3132 / 1908 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
25.11.2013, 15:51 #23
Цитата Сообщение от kazak Посмотреть сообщение
что это
Таблица нормализованных (per 10,000) частотностей символов.

Удобна для быстрой оценки типа файла: text/binary/compressed(encrypted) etc.
0
newbie666
Заблокирован
25.11.2013, 15:52 #24
char tmp[141];
fs.read(tmp, sizeof(tmp));

так пропускай
1
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
25.11.2013, 15:56 #25
Цитата Сообщение от newbie666 Посмотреть сообщение
char tmp[141];
fs.read(tmp, sizeof(tmp));
так пропускай
C++
1
fs.seekg(141, ios_base::beg);
1
newbie666
25.11.2013, 15:58
  #26

Не по теме:

Цитата Сообщение от kazak Посмотреть сообщение
fs.seekg(141, ios_base::beg);
ну или так пропускай

1
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 287
25.11.2013, 16:07  [ТС] #27
и куда это вставить??
0
newbie666
Заблокирован
25.11.2013, 16:11 #28
ну как куда, перед чтением твоей структуры из файла, тоесть открыл файловый поток, указатель в самом начале, сдвигаешь его и потом начинаешь читать:
C++
1
2
3
fs.seekg(141, ios_base::beg);
fs.read((char*)&item, sizeof(item));
fs.close();
1
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 287
25.11.2013, 16:16  [ТС] #29
Цитата Сообщение от newbie666 Посмотреть сообщение
ну как куда, перед чтением твоей структуры из файла, тоесть открыл файловый поток, указатель в самом начале, сдвигаешь его и потом начинаешь читать:
C++
1
2
3
fs.seekg(141, ios_base::beg);
fs.read((char*)&item, sizeof(item));
fs.close();
C++
1
2
3
4
5
6
    if(fs.is_open())
    {
        fs.seekg(141, ios_base::beg);
        fs.read((char*)&item, sizeof(item));
        fs.close();
    }
не работает так

Добавлено через 4 минуты
если в структуре указать char a [141]
то норм... а так не работает(
0
newbie666
Заблокирован
25.11.2013, 16:20 #30
Цитата Сообщение от lips Посмотреть сообщение
если в структуре указать char a [141]
так там таких же ячеек с информацией у тебя много в файле, ты так только первую прочитаешь нормално

Добавлено через 30 секунд
а так работает ?
char tmp[141];
fs.read(tmp, sizeof(tmp));
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2013, 16:20
Привет! Вот еще темы с ответами:

работа с базой данных - C++
Написать программу работы с базой данных. База хранится в оперативной памяти в виде структуры. Структура содержит набор переменных разного...

Работа с базой данных - C++
Добрый день! Прошу совета! Задание было, написать БД по билетам вокзала. Так вот, все процедуры работают, кроме одной, не могу догнать, что...

Способ вывода данных на экран - C++
Как выбрать способ вывода данных (в файл или на консоль), чтобы при последующих вычислениях оставался только один способ?

Прочитать файл - C++
В файле находятся строки в таком виде: энтузиазм:enthusiasm энтузиаст:enthusiast энцефацит:encephalitis ...


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

Или воспользуйтесь поиском по форуму:
30
Yandex
Объявления
25.11.2013, 16:20
Ответ Создать тему
Опции темы

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