|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.08.2009, 15:26 | #1 |
Пользователь
Регистрация: 30.07.2009
Сообщений: 10
|
Работа с боьшим файлом (С++ Builder6)
Господа, здравствуйте.
При написании проги (не для стороннего клиента, для себя, любимого), столкнулся с некоей непоняткой. Есть большой файл Формат csv (просто значения разделенные запятой [либо точкой с запятой]) Сложность 1-я файл может быть бешеного размера (нпример 5 гб) fopen fread боюсь могут не справиться с чтением этого файла Обхдной маневр Говорят можно каким то образом подключить csv как таблицу но у меня не получилось (ума не хватило) от сюда 2-я сложность Подскажите плиз как это сделать почеловечи Очень не хочется нарезать предварительно файлы или конвертить их сторонними утилитами Хочтся сделать для себя Заранее БЛАГОДАРЕН Последний раз редактировалось ongleb; 04.08.2009 в 15:29. |
04.08.2009, 15:44 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А не попользоваться ли тебе классами TStringList
или TFileStream Class, а?
I'm learning to live...
|
04.08.2009, 19:48 | #3 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
Можете попробовать сделать отображение файла в памяти, кусками будете загружать и все окей.
|
04.08.2009, 20:10 | #4 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Цитата:
Вообще с какой целью файлики эти читаете? От задачи и надо плясать, а то может там лучше в память маппить файл, а может и fread'ом отделаешься. |
|
04.08.2009, 20:21 | #5 |
Заблокирован
Регистрация: 18.11.2007
Сообщений: 254
|
если cvs имеет текствоый вид, предлогаю читать до каретки \r\n естественно если файл 5 гб это будет долго очень долго =) но пользователь не видит все данные, нужно показывать только те которые он смотрит, каждый раз при прокрутке скрола читать из файла. к примеру скроо стоит на позиции 0 прочитал допустим 60000(зависит от размера окна) байт из файла , пропарсил, вывел на экрна, пользователь опустил на позицию ниже, переместился по файлу на новую позицию снова прочитал 60000 байт. перемещение будет зависить от того насколько большой файл. код писать не буду, нужно думать головой )
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с файлом | D_E_N | Общие вопросы Delphi | 6 | 17.07.2009 14:03 |
С++ работа с файлом. | НедоВовик | Помощь студентам | 1 | 05.07.2009 18:22 |
Работа с ini-файлом..? | Mishechka | Общие вопросы Delphi | 5 | 24.06.2009 16:32 |
Си++. работа с файлом | milate | Помощь студентам | 0 | 08.06.2009 12:52 |
Работа с файлом в C | Mishka | Помощь студентам | 2 | 22.07.2008 13:28 |