![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mrgloom |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
есть стандартный метод определения размера файла
но при каких условиях seekg или tellg будут работать неправильно? какие ограничения для х32 и х64? |
|||
|
||||
ColdSpirit |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.12.2010 Репутация: нет Всего: 2 |
mrgloom, наверное до sizeof(streampos) или sizeof(pos_type), непомню сколько он занимает. Меня тоже это интересует, и еще, если кто знает, в чем разница между streampos, pos_type и остальными?
|
|||
|
||||
mrgloom |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
решил не использовать std::stream, код типа такого
но проблема в том, тут пишут
и как быть с файлами больше 2 Гб ? |
||||
|
|||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
mrgloom |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
ну так мне не надо несколько блоков по 2Гб
какие варианты? только memmaped file? |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
mrgloom,
Добавлено через 2 минуты и 34 секунды а вообще такие большие блоки читать за 1 раз не есть гуд. лучше читать понемногу, и в промежутках проверять, (например) не нажал ли пользователь отмену. |
|||
|
||||
Alexeis |
|
||||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Прикольно, я чет думал, что адресуемый размер файла должен ограничиваться макс значением типа size_t .
Но если открыть доку http://www.cplusplus.com/reference/ios/streamoff/ То в стандарте 98го года говорят что
В новом же стандарте
Так что используя новый компилятор можно все же надеется на 64х битный указатель смещения. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |