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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2016, 10:15   #1
Антоним
Пользователь
 
Регистрация: 07.02.2012
Сообщений: 17
Сообщение Работа с таблицей

Доброго времени суток, форумчане!
Этеншен многобукав)
Решаю такую задачу:
необходимо прочитать из форматированного файла информацию, распарсить его, занести в некую структуру с учётом типа информации, и дальше работать с этой структурой.
Сразу после чтения файла пользователь укажет какие типы данных в колонках.
Т.е. в файле лежит нечто(по типам) -
string float float int string int...
string float float int string int...// колонок ~20 штук
....// строк 20к
Заранее я не знаю какой набор типов переменных мне понадобится.
Всё решено кроме собственно проблемы:
Как лучше "оформить" структуру для хранения этих данных?
Пробовал:
1) В лоб
Код:
struct _st
{
тип колонки(перечисление);
int *IVal; // массив под intы
float *fVal; // массив под floatы
string *cVal; // массив под stringи
};
Тобиш, раз в колонке только один тип данных, я зазря выделяю куеву тучу памяти на указатели под типы, которые так и не будут использованы - не дело. Хотя такой вариант я реализовал и он фурычит. Но заполнение и очищение массива[14][7500] на i5-6400 занимает добрых 50-80 секунд, по-моему это долго, при учёте. что нужно будет заполнить одновременно, как минимум, две такие структуры.
2) вакуум))))
Код:
struct _cell
{
void *value;
};
Тут встретился с проблемой приведения типов в ряде мест, с которыми справиться не помог и гугол.
3) Умничать
Различные, нарытые в интернетах, способы шаблонизации оказались или ну уж слишком громоздкими (Tuple-аля). Свои потуги окончились ничем.

В связи с вышесказанным, скажите кто встречался с такой задачей и каким путём её решал, ну а если не решал, то как решил бы... попроще) или покороче)
Спасибо.
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер

Последний раз редактировалось Антоним; 20.09.2016 в 10:17.
Антоним вне форума Ответить с цитированием
Старый 20.09.2016, 13:50   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

1.jpg
ura_111 вне форума Ответить с цитированием
Старый 20.09.2016, 14:00   #3
Антоним
Пользователь
 
Регистрация: 07.02.2012
Сообщений: 17
По умолчанию

ura_111, спасибо. Смотрел в книгу видел фигу) Ш0л матчасть учить...
... и обнаружил... try{}
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер

Последний раз редактировалось Антоним; 20.09.2016 в 15:23.
Антоним вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с таблицей Nightway Общие вопросы Delphi 5 05.04.2014 12:32
Работа с таблицей ASCII (C++) Avan_G Помощь студентам 1 13.01.2014 17:09
Работа с таблицей anubiss Помощь студентам 5 02.05.2012 00:07
работа с таблицей photozaz БД в Delphi 4 27.09.2008 21:29
Работа с таблицей без БД Гр_ БД в Delphi 3 06.06.2007 16:31