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

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

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

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

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

Кто знает как правильно считать данные из файла и распределить содержимое между массивом структур. Подразумевается структура с фамилиями, инициалами, датой, месяцем и годом рождения студента. Не могу понять. Как распределить данные из файла между массивом структур. Будет здорово если поделитесь знаниями или подскажете где их можно найти на доступном языке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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...

6
alsav22
5421 / 4816 / 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;
}
1
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
26.09.2013, 15:47 #3
а так же если нет указателей то можно просто считывать. иначе надо будет писать соответствующую функцию, которая бы считывала из файла последовательно данные для необходимых полей
1
privetedward
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 4
26.09.2013, 15:47  [ТС] #4
Спасибо большое
0
alsav22
5421 / 4816 / 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))
0
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
26.09.2013, 15:56 #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Если в структуре нет объектов классов, то можно просто читать, в бинарном режиме,
А если будут объекты классов? Разве для них не подходит блочное побайтное копирование?
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.09.2013, 16:00 #7
Цитата Сообщение от gromo Посмотреть сообщение
А если будут объекты классов? Разве для них не подходит блочное побайтное копирование?
string, например. И что вы будете побайтно копировать? Строки там может и не быть (зависит от реализации и от величины строки). Может быть просто указатель на строку в динамической памяти.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2013, 16:00
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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