Информатика • 11 класс
745

Использование файлов, содержащих структурные данные (C++)

  • Описание структуры:
    struct <имя_структуры> {
      <тип_данных> <имя_поля>; }
  • Выделение блока динамической памяти для хранения данных;
    <имя_структуры> * ptr = new <имя_структуры>; // Для одного объекта
    <имя_структуры> * array_ptr = new <имя_структуры> [size]; // Для массива объектов
  • Соединение файла с потоком:
    #include <fstream>
    ifstream input_file ("имя_файла", ios::binary); // Поток для чтения
    ofstream output_file ("имя_файла", ios::binary); // Поток для записи
    fstream file ("имя_файла", ios::in | ios::out | ios::binary); // Поток для чтения и записи
  • Режимы доступа (флаги):
    ios::in // Открыть для чтения
    ios::out // Открыть для записи (с очисткой файла)
    ios::app // Открыть для добавления в конец s
    ios::binary // Открыть в бинарном режиме (важно для структур)
  • Запись и чтение структур (бинарный режим):
    output_file.write (reinterpret_cast <char*> (ptr), sizeof (<имя_структуры>));
    input_file.read (reinterpret_cast <char*> (ptr), sizeof (<имя_структуры>));
  • Освобождение памяти:
    delete ptr; // Для одного объекта
    delete [] array_ptr; // Для массива объектов
Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»
Логотип облако знаний
+7 (499) 322-07-57
info@oblakoz.ru

Контактный центр

МО, г. Долгопрудный,
Лихачевский проезд, 4, стр. 1

Отдел заботы о пользователях

Политика конфиденциальности

© ООО «Физикон Лаб», 2025

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪