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

Работа с большими файлами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
masikus
2 / 2 / 0
Регистрация: 03.03.2013
Сообщений: 36
15.05.2013, 17:11     Работа с большими файлами #1
Как в c/c++ работать с большими файлами?
А точнее нужно открывать файлы размером больше 10 ГБ и работать с ними.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2013, 17:11     Работа с большими файлами
Посмотрите здесь:

Работа с большими числами (массивы) C++
Работа с файлами C++
Работа с файлами C++
Работа с файлами в C++ C++
C++ Задача простая, но надо её записать хорошо. Работа с большими числами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
15.05.2013, 17:18     Работа с большими файлами #2
Цитата Сообщение от masikus Посмотреть сообщение
Как в c/c++ работать с большими файлами?
А точнее нужно открывать файлы размером больше 10 ГБ и работать с ними.
В чем проблема? Работать с частью файла или же маппить его.
quwy
Native x86
 Аватар для quwy
2734 / 1823 / 477
Регистрация: 13.02.2013
Сообщений: 6,110
15.05.2013, 17:28     Работа с большими файлами #3
Цитата Сообщение от masikus Посмотреть сообщение
Как в c/c++ работать с большими файлами?
А точнее нужно открывать файлы размером больше 10 ГБ и работать с ними.
Точно, так же, как и со всеми другими файлами. Вы же не имеете привычки всегда считывать весь файл в память для работы с ним?
masikus
2 / 2 / 0
Регистрация: 03.03.2013
Сообщений: 36
16.05.2013, 05:25  [ТС]     Работа с большими файлами #4
Можете показать пример работы с файлом по частЯм и выделением памяти под это
quwy
Native x86
 Аватар для quwy
2734 / 1823 / 477
Регистрация: 13.02.2013
Сообщений: 6,110
16.05.2013, 05:41     Работа с большими файлами #5
Цитата Сообщение от masikus Посмотреть сообщение
Можете показать пример работы с файлом по частЯм и выделением памяти под это
Странный вопрос. Открываете десятигиговый файл как обычно, читаете первые, скажем, 1024 килобайта, обрабатываете как вам нужно, читаете следующие 1024 килобайта, снова обрабатываете, и так, пока не достигли конца файла.
Uncle_Vitok
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 36
05.03.2016, 18:09     Работа с большими файлами #6
а можно пример кода?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2016, 01:03     Работа с большими файлами
Еще ссылки по теме:

C++ Работа с файлами в C, C++
работа с большими текстовыми файлами C++
C++ Работа с очень большими файлами

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11822 / 6801 / 769
Регистрация: 27.09.2012
Сообщений: 16,869
Записей в блоге: 2
Завершенные тесты: 1
06.03.2016, 01:03     Работа с большими файлами #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    std::string get_full_sum(const std::string& file_path, CHECKSUM_TYPE sum_type, size_t block_size)
    {
        Glib::Checksum sum(convert_to_glibmm_checksub_type(sum_type));
        std::ifstream file(file_path, std::ios::binary);
        if( file.is_open() ){            
            std::string buffer;
            buffer.resize(block_size);
            do{
                file.read(&(buffer[0]), block_size);
                buffer.resize(file.gcount());
                sum.update(buffer);
            }while(buffer.size()>0);
        }
        return sum.get_string();
    }
Проверено на файле в 32 Гб.
Подвох?
Yandex
Объявления
06.03.2016, 01:03     Работа с большими файлами
Ответ Создать тему
Опции темы

Текущее время: 05:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru