Your problem cannot be resolved as indicated and clarified in the comments.
You requested a way to have a contiguous buffer in memory of 50,000,000 records of size 1024 on a 32-bit system.
A 32-bit system has only 4,294,967,296 bytes of address memory. You request 51200000000 bytes of address memory or 11.9 times the amount of address space on your system.
, , , , , .. , (, 8- Windows 4 ) - .
, , ", ".