Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2019, 13:04   #1
sasha1504
 
Регистрация: 20.10.2019
Сообщений: 9
Лампочка c++ бинарные файлы,записи

Здравствуйте. Есть отдельные куски кода,но не могу собрать в цельный рабочий код.Помогите,пожалуйста.
Задание: В бинарном файле хранится информация о столах. Каждая запись файла состоит из следующих полей :
Название модели : 10 байт;
Ширина стола : 2 байта;
Длина стола : 2 байта;
Цвет : 12 байт;
Цена : 4 байта.
Написать функции для работы с таким файлом, как с файлом прямого доступа, т е
считать запись с определенным номером и записать запись с определенным номером.
Код: ОБЬЯВЛЕНИЕ СТРУКТУРЫ:
#pragma pack(push, 1)
struct CTable
{
char m_name[10];
uint16_t m_witdth;
uint16_t m_length;
char m_color[12];
uint32_t m_price;
};
#pragma pack(pop)
ФУНКЦИЯ ЧТЕНИЯ:
bool ReadTable(std::istream &in, size_t n, CTable &table)
{
if (!in.seekg(n * sizeof(CTable)))
return false;

return in.read((char *)&table, sizeof(table)).good();
}
ОТКРЫТИЕ ФАЙЛА И ЧТЕНИЕ:
std::ifstream in("tables.bin", std::ios::binary);
CTable table;
ReadTable(in, 3, table);
std::cout << std::string(table.m_name, sizeof(table.m_name)) << std::endl;
ReadTable(in, 2, table);
std::cout << std::string(table.m_name, sizeof(table.m_name)) << std::endl;
ReadTable(in, 1, table);
std::cout << std::string(table.m_name, sizeof(table.m_name)) << std::endl;
sasha1504 вне форума Ответить с цитированием
Старый 25.11.2019, 13:13   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Цитата:
Сообщение от sasha1504 Посмотреть сообщение
Есть отдельные куски кода,но не могу собрать в цельный рабочий код.
Т.е. вы не можете дописать
Код:
int main(int argc, char* argv[])
?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бинарные файлы с++ Lehhah Помощь студентам 1 15.05.2019 16:20
бинарные файлы карабах Помощь студентам 1 28.03.2018 16:09
СИ++ Бинарные файлы JLady Помощь студентам 0 05.05.2015 19:51
Бинарные файлы (запись/чтения больше одной записи) JoberLord Общие вопросы C/C++ 4 27.08.2012 18:49
Бинарные файлы VorobeY1326 Общие вопросы C/C++ 12 09.05.2009 21:00