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

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

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

Форматированное чтение из файла в массив структур - C++

30.05.2013, 18:16. Просмотров 531. Ответов 1
Метки нет (Все метки)

Здравствуйте, посоветуйте как лучше сделать чтение из файла в массив структур с разными типами данных.
Входной файл (все денные введены через знак табуляции):
toyota 130 250 1500 sedan 2200 1800
audi 220 250 1500 hetch 2000 2500
bmv m3 250 320 1700 sedan 2800 3200
ferrari 450 375 1200 coupe 3500 8500
Каждую строчку надо внести в массив структур:
C++
1
2
3
4
5
6
7
8
9
10
struct car
{
    char name[10];//имя
    int hp;//мощность
    int speed;//макс скорость
    int massa;//масса
    char kuzov[10];//тип кузова
    int roc; //рабочий объем цилиндра
    int price;//цена
};
как лучше считать все строки и занести соответствующие данные в массив структур? для file.getline нужно чтоб в структурах были только символьные переменные, в fscanf я не знаю как указывать размер для символьных переменных (они разные). Что посоветуете?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2013, 18:16     Форматированное чтение из файла в массив структур
Посмотрите здесь:

Форматированное чтение из файла - C++
Пишу телефонный справочник нужно из одной строки вытаскивать номер фио и адресс чёт не выходит ничего(( #include <iostream.h> ...

Чтение из текстового файла массив структур - C++
Доброго времени суток. Нужно из текстового файла заполненного по типу ( Фио Диагноз числопоступления пол ) занести информацию в бинарный...

Чтение из файла в массив структур (ошибка со string) - C++
Есть задача: считать из файла информацию в массив структур. Файл: Иван Иванов Иванович 18 1 2 8.6 Петр Петров Петрович 17 1 3...

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

Чтение структур с файла - C++
Я записал структуру в файл! В файле лежит структура троих студентов. Как мне вывести из файла данные например для второго студента? Читал...

Чтение из файла массива структур - C++
/* 4. Дана информация о семи студентах. Структура имеет вид: фамилия, имя, отчество и 4 оценки за экзамены. Вывести данные о...

Чтение массива структур из файла - C++
есть структура typedef struct { unsigned short codeContribution; unsigned short contributorCode; float amountContribution;...

Чтение вектора структур из файла - C++
struct TRANSACTIONS { unsigned long long sender; unsigned long long receiver; unsigned long long amount; } ... ...

Чтение массива структур из бинарного файла - C++
Доброго времени суток.Возникла проблема с чтением структур из бинарного файла.Файл открывает,но при считывании данных, сразу закрывается с...

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

Массив структур из файла - C++
Помогите, пожалуйста, с поиском ошибки. Нам дан текстовый файл, из 3 столбцов и 5 строк, с разделителями в виде пробелов и новой строки -...

Заполнить из файла массив структур - C++
задача такая файле есть данные которые имеют Количество строк: 5. Столбцы: Фамилия, Место жительства, Год рождения. Определить ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ksandro
31 / 31 / 1
Регистрация: 15.04.2011
Сообщений: 81
30.05.2013, 19:48     Форматированное чтение из файла в массив структур #2
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <fstream>
#include <iostream>
 
struct car
{
    char name[10];//имя
    int hp;//мощность
    int speed;//макс скорость
    int massa;//масса
    char kuzov[10];//тип кузова
    int roc; //рабочий объем цилиндра
    int price;//цена
};
 
int main()
{
        std::ifstream f("file.txt");
        int size = 0;
        car cars[100];
        for(int i = 0;  i < sizeof(cars); ++i)
        {
                f >> cars[i].name;
                if(f.eof())
                {
                        size = i;
                        break;
                }
                f >> cars[i].hp >> cars[i].speed >> cars[i].massa >> cars[i].kuzov >> cars[i].roc >> cars[i].price;
        }
 
        for(int i =0; i < size; ++i)
        {
                std::cout << cars[i].name << " "
                          << cars[i].hp << " "
                          << cars[i].speed << " "
                          << cars[i].massa << " "
                          << cars[i].kuzov << " "
                          << cars[i].roc << " "
                          << cars[i].price << "\n";
        }
}
Вот примерно так можно. Вроде работает, только "bmv m3" воспринимается как 2 поля, если заменить на "bmv_m3" то все ок.
Yandex
Объявления
30.05.2013, 19:48     Форматированное чтение из файла в массив структур
Ответ Создать тему
Опции темы

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