Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Какой максимальный размер файла для std::fstream? |
Автор: mrgloom 24.6.2014, 14:20 | ||
есть стандартный метод определения размера файла
но при каких условиях seekg или tellg будут работать неправильно? какие ограничения для х32 и х64? |
Автор: ColdSpirit 24.6.2014, 17:00 |
mrgloom, наверное до sizeof(streampos) или sizeof(pos_type), непомню сколько он занимает. Меня тоже это интересует, и еще, если кто знает, в чем разница между streampos, pos_type и остальными? |
Автор: mrgloom 7.7.2014, 10:36 | ||||
решил не использовать std::stream, код типа такого
но проблема в том, http://www.firstobject.com/fseeki64-ftelli64-in-vc++.htm пишут
и как быть с файлами больше 2 Гб ? |
Автор: mrgloom 7.7.2014, 12:26 |
ну так мне не надо несколько блоков по 2Гб какие варианты? только memmaped file? |
Автор: volatile 7.7.2014, 12:39 | ||
mrgloom,
Добавлено через 2 минуты и 34 секунды а вообще такие большие блоки читать за 1 раз не есть гуд. лучше читать понемногу, и в промежутках проверять, (например) не нажал ли пользователь отмену. |
Автор: Alexeis 8.7.2014, 12:47 | ||||
Прикольно, я чет думал, что адресуемый размер файла должен ограничиваться макс значением типа size_t . Но если открыть доку http://www.cplusplus.com/reference/ios/streamoff/ То в стандарте 98го года говорят что
В новом же стандарте
Так что используя новый компилятор можно все же надеется на 64х битный указатель смещения. |