Wdrażam program w C++ za pomocą ifstream, który musi szukać w dużych plikach (~ 1 TB). Jednak nie powiedzie się po odczytaniu 2 GB. Czy istnieje sposób na uzyskanie pozycji pliku, nawet w przypadku dużych plików? Kompiluję dla 32-bitowego komputera z systemem Windows.Poszukiwania w dużych plikach z ifstream
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
}
Nie wiem, czy to faktycznie zmienia niczego, ale czy próbowałeś używać zwykłej alternatywy czytania plików? – stefan
@stefan ma zwykły moduł obsługi pozycji pliku C, którego rozmiar jest większy niż 32-bitowy? – triclosan
@triclosan jak powiedziałem: nie wiem, to był tylko pomysł – stefan