просто читаю файл:
template<class ValueT>
void simple_reading(const char* fileName)
{
basic_ifstream<ValueT> in;
in.open(fileName,ios::binary);
if ( !in ){
return;
}
basic_string<ValueT> buffer;
buffer.resize(1024*1024*100);
{
size_t offset = 0;
while( !in.eof() ){
in.read(&buffer[0],static_cast<streamsize>( buffer.size() & 0xFFFFFFFF ) ); //правильно я делаю преобразование?
offset += in.gcount();
cout << "\roffset = " << offset;
}
cout << endl;
}
return;
}
int _tmain(int argc, _TCHAR* argv[])
{
if ( argc < 2 ){
return 1;
}
simple_reading<char>(argv[1]);
simple_reading<unsigned char>(argv[1]);
return 0;
}
Почему в случае с char файл считывается полностью, а в случае с unsigned char где-то после 7гб чтение прекращается, т.к. выставляется флаг eof?
размер файла ~12гб