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

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

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

Структуры из файла - C++

26.09.2013, 15:17. Просмотров 242. Ответов 6
Метки нет (Все метки)

Кто знает как правильно считать данные из файла и распределить содержимое между массивом структур. Подразумевается структура с фамилиями, инициалами, датой, месяцем и годом рождения студента. Не могу понять. Как распределить данные из файла между массивом структур. Будет здорово если поделитесь знаниями или подскажете где их можно найти на доступном языке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2013, 15:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структуры из файла (C++):

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? - C++
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f= fopen ("file.txt", "w"); в переменной f содержится...

Помещение структуры в вектор, удаление структуры, изменение элементов структуры - C++
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный элемент структуры. 2 - удалять...

Считывание структуры из файла - C++
Имеется файл с данными о товаре и прочей всячиной, нужно считать из файла в структуру. Помогите допилить программу :help: Вот кусок: ...

Заполнение структуры из файла в С++ - C++
как в С++ возможно осуществить заполнение массива структур из файла, где информация разделена ";"???

Загрузка структуры из файла - C++
Объясните, пожалуйста, как произвести загрузку чисел вещественного типа из файла в структуру. Текст файла выглядит так: и вот сам...

Чтение из файла структуры - C++
Есть небольшая и непонятная проблема вот весь код программы #include <iostream> #include <fstream> #include <string> #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.09.2013, 15:45 #2
Если в структуре нет объектов классов, то можно просто читать, в бинарном режиме, структуры из файла в элементы массива структур.

Добавлено через 8 минут
Например, как-то так:
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
#include <iostream>
#include <fstream>
using namespace std;
 
struct S
{
    char f[30];
    char n[30];
    int y;
    int m;
    int d;
 
} arr[5];
 
int main()
{
    ifstream fin("file", ios::binary);
    if (!fin) cout << "Error!" << endl;
    {
        int i = 0;
        while ((fin.read((char*)&arr[i], sizeof(S))) && i < 5) ++i;
        
        fin.close();
    }
    
    return 0;
}
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
26.09.2013, 15:47 #3
а так же если нет указателей то можно просто считывать. иначе надо будет писать соответствующую функцию, которая бы считывала из файла последовательно данные для необходимых полей
privetedward
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 4
26.09.2013, 15:47  [ТС] #4
Спасибо большое
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.09.2013, 15:51 #5
Забыл добавить, что бинарный режим чтения подразумевает, что и в файл структуры записывались в бинарном режиме:
C++
1
2
ofstream fout("file", ios::binary);;
fout.write((const char*)&arr[i], sizeof(S))
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
26.09.2013, 15:56 #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Если в структуре нет объектов классов, то можно просто читать, в бинарном режиме,
А если будут объекты классов? Разве для них не подходит блочное побайтное копирование?
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.09.2013, 16:00 #7
Цитата Сообщение от gromo Посмотреть сообщение
А если будут объекты классов? Разве для них не подходит блочное побайтное копирование?
string, например. И что вы будете побайтно копировать? Строки там может и не быть (зависит от реализации и от величины строки). Может быть просто указатель на строку в динамической памяти.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2013, 16:00
Привет! Вот еще темы с ответами:

Структуры, копирование файла - C++
Подскажите, как написать программку с меню с пунктами: – посимвольное копирование файла; – построчное копирование файла; ...

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

Чтение структуры из файла - C++
мне надо считать структуру из файла и вывести данные на экран. считывать-то считывает.. но вот выводит ерунду какую-то. помогите...

Сортировка структуры из файла - C++
Нужно отсортировать структуру из бинарного файла по фамилии доктора. Что то написал, ошибок не выдаёт, но и не сортирует. ...


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

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

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