tellg () возвращает отрицательный ответ

Я открыл файл в двоичном режиме, и выполнение описанных ниже операций дает отрицательное значение x. Размер файла, который я открыл, составляет ~ 2,5 ГБ.

infile.seekg(0, ios::end);
__int64 x = infile.tellg();

Мне нужен был infile для чтения байтов (беззнаковые символы), поэтому я определил его как uifstream , выполнив:

typedef basic_ifstream<unsigned char, std::char_traits<unsigned char> > uifstream;

, который в основном является стандартным ifstream, но с беззнаковых символов вместо символов .

РЕДАКТИРОВАТЬ: Я использую Visual Studio 2005 и исправил uofstream на uifstream.

5
задан c0da 4 November 2011 в 09:30
поделиться