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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2009, 15:26   #1
ongleb
Пользователь
 
Регистрация: 30.07.2009
Сообщений: 10
По умолчанию Работа с боьшим файлом (С++ Builder6)

Господа, здравствуйте.
При написании проги (не для стороннего клиента, для себя, любимого), столкнулся с некоей непоняткой.
Есть большой файл
Формат csv (просто значения разделенные запятой [либо точкой с запятой])

Сложность 1-я файл может быть бешеного размера (нпример 5 гб)
fopen fread боюсь могут не справиться с чтением этого файла

Обхдной маневр
Говорят можно каким то образом подключить csv как таблицу но у меня не получилось (ума не хватило) от сюда 2-я сложность

Подскажите плиз как это сделать почеловечи

Очень не хочется нарезать предварительно файлы или конвертить их сторонними утилитами
Хочтся сделать для себя

Заранее БЛАГОДАРЕН

Последний раз редактировалось ongleb; 04.08.2009 в 15:29.
ongleb вне форума Ответить с цитированием
Старый 04.08.2009, 15:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А не попользоваться ли тебе классами TStringList
или TFileStream Class, а?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.08.2009, 19:48   #3
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Можете попробовать сделать отображение файла в памяти, кусками будете загружать и все окей.
MaTBeu вне форума Ответить с цитированием
Старый 04.08.2009, 20:10   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от ongleb Посмотреть сообщение
Сложность 1-я файл может быть бешеного размера (нпример 5 гб)
fopen fread боюсь могут не справиться с чтением этого файла
Как это они не справятся? Это одни из самых низкоуровневых функций работы с файлами, так что как ни крути, а через них чтение будет происходить или через подобные.
Вообще с какой целью файлики эти читаете? От задачи и надо плясать, а то может там лучше в память маппить файл, а может и fread'ом отделаешься.
pu4koff вне форума Ответить с цитированием
Старый 04.08.2009, 20:21   #5
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

если cvs имеет текствоый вид, предлогаю читать до каретки \r\n естественно если файл 5 гб это будет долго очень долго =) но пользователь не видит все данные, нужно показывать только те которые он смотрит, каждый раз при прокрутке скрола читать из файла. к примеру скроо стоит на позиции 0 прочитал допустим 60000(зависит от размера окна) байт из файла , пропарсил, вывел на экрна, пользователь опустил на позицию ниже, переместился по файлу на новую позицию снова прочитал 60000 байт. перемещение будет зависить от того насколько большой файл. код писать не буду, нужно думать головой )
lennon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлом 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