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

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

Войти
Регистрация
Восстановить пароль
 
Анжей
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 46
#1

Чтение структуры из бинарного файла в массив - C++

01.02.2014, 22:58. Просмотров 424. Ответов 2
Метки нет (Все метки)

Структура выглядит так:
C++
1
2
3
4
5
6
7
8
struct StandardBook {
    char ISBN[13];              //регистрационный номер книги International Standard Book Number
    char Author[25];            //автор
    char BookName[100];         //название
    int YearOfTheEdition;       //год издания
    char PublishingHouse[30];   //издательство
    unsigned int NumberOfPages; //количество страниц
};
Необходимо удалить произвольную запись из бинарного файла.
Использую функцию в которую передается номер удаляемой записи и количество записей.

void DeleteRecord(int Number, int NumbersOfRecords){
FILE * DataFile;
StandardBook* Book;
Book = new StandardBook[NumbersOfRecords-1];

if (!(DataFile = fopen("Data.bin", "rb"))){
puts("Ошибка при открытии файла ");
}
else {
for (int i = 0; i < NumbersOfRecords; i++){
fread(&Book[i], sizeof(StandardBook), 1, DataFile);
}
getch();
fclose(DataFile);

}

delete[]Book;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2014, 22:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение структуры из бинарного файла в массив (C++):

Чтение структуры из бинарного файла - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; int main(void) { setlocale (0,&quot;&quot;); ...

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

Чтение структуры из бинарного файла - C++
Не работает, вроде все верно. #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() ...

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

Чтение бинарного файла с 16-ричными числами в массив - предоставление и очищение памяти - C++
Программа вылетает, переполнение стека.. Имеется бинарный файл с 16-ричными числами, по 40 штук в строке вида &quot;4d&quot; через пробел. Пытаюсь...

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется - C++
Формат файла состоит из 3 структур и одной переменной. Подробное описание формата во вложении, просьба посмотреть его. У меня возникла...

2
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
01.02.2014, 23:19 #2
Цитата Сообщение от Анжей Посмотреть сообщение
Необходимо удалить произвольную запись из бинарного файла.
Самое простое решение: прочтите полностью файл и получите весь массив структур, кроме удаляемого. а потом заново сохраните все в этот же файл...
1
Анжей
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 46
01.02.2014, 23:44  [ТС] #3
Цитата Сообщение от mustimur Посмотреть сообщение
Самое простое решение: прочтите полностью файл и получите весь массив структур, кроме удаляемого. а потом заново сохраните все в этот же файл...
Я так и хотел.
Случайно создал тему не до конца оформив сообщение.
Возникала ошибка при закрытии файла. Но уже разобрался, была дурацкая ошибка в выделении памяти.

Спасибо за ответ.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2014, 23:44
Привет! Вот еще темы с ответами:

Чтение бинарного файла - C++
подскажите пожалуйста как можно из любого файла(*.bmp, *.mp3, *.avi и т.д.) получить двоичное представление этого файла или хотя бы считать...

Чтение из бинарного файла - C++
Всем приветы. Подскажите или помогите, пожалста. Есть вот такая штука: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Чтение из бинарного файла - C++
Добрый вечер.Возникла проблема при чтении имени объекта из бинарного файла,запись в файл идет по структуре |char|int|double|float|'/0'|...

Чтение из бинарного файла - C++
Создала Базу данных. запись в файл происходит, а чтение из файла не получается. исправьте, пожалуйста, или подскажите как? #include...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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