Szukanie dużych plików z ifstream

Implementuję program w C ++ używający ifstream, który musi szukać w dużych plikach (~ 1 TB). Jednak to się nie udaje po odczytaniu 2 GB. Czy istnieje sposób na uzyskanie pozycji plików, nawet w przypadku dużych plików? Kompiluję dla 32-bitowego systemu Windows.

std::ifstream f;
f.open( filename.c_str(), std::ifstream::in | std::ifstream::binary );
while(true) {
    std::cout << (uint64_t)(f.tellg()) << std::endl;
    //read data
}

questionAnswers(1)

yourAnswerToTheQuestion