ifstream 64
От: Аноним  
Дата: 08.10.05 01:23
Оценка:
Как заставить ifstream работать с __int64
то есть работать с файлами размерами больше 2ГБ
Re: ifstream 64
От: Chelovek_  
Дата: 08.10.05 09:15
Оценка:
А>Как заставить ifstream работать с __int64
А>то есть работать с файлами размерами больше 2ГБ

Вы как-то неясно задали вопрос.
У меня была проблема при произвольном доступе к файлам большим 2 Гб (использование функций is.tellg(...), is.seekg(...)). Решить проблему удалось используя встроенные в std::ifstream типы для позиции и смещения:


    std::ifstream::pos_type pos; // беззнаковый тип для абсолютной позиции в файле. 
...
    pos = is.tellg();
...
    is.seekg(pos);


как называется знаковый тип для смещения — не помню, сами посмотрите. Эти встроенные типы сами должны разбираться, чтобы корректно работать с большими файлами.

Еще там был нюанс, что для корректной работы произвольного доступа надо было открывать входной файл в двоичном режиме (ifstream is ("...\\большой_файл.xyz", ios::in|ios::binary ))
Re: ifstream 64
От: denisku Россия  
Дата: 10.10.05 10:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как заставить ifstream работать с __int64

А>то есть работать с файлами размерами больше 2ГБ
Посмотри здесь
Извините за потраченный траффик..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.