2^32-2 = 4,294,967,294 or about 4GB. Based on Luthfi's earlier answer, I believe we have found the issue.
Totally a new guy here, stumped on "Sam's Teach Yourself" programming
slewis185 - Yesterday, 04:28 PM
HOSTOLX - $1 Unlimited Hosting | $1 Hosting | $1 Web Hosting
neema - Jun 28 2015 07:27 AM
Recent Blog Entries
Recent Status Updates
Getting Ready For A Local Programming Competition.
I'm joined for make Linux good.
I got money on my mind.
learn and try
Linear/logistic regression modeling - check; classification and regression trees - check; linear/integer optimization - check; another step closer to the goal - check!
- Managed C++
- Visual Basic 4 / 5 / 6
- linked list
- hello world
Posted 08 March 2013 - 08:39 PM
WingedPanther had summed it up for you. Both your free space sizes surpass the limitation of SetFilePointer (when missing lpDistanceToMoveHigh). Actually it seems that my earlier answer was based from wrong documentation. The online documentation (which url I gave you already) states that the limitation would be (2^31)-2. So, actually the limitation is 2GB-2B. Now we have the answer to what caused the failure in your code.
The solution? Make SetFilePointer to use proper lpDistanceToMoveHigh value. I don't recommend to alter TFileStream, so you better rewrite your code to directly use windows api instead of TFileStream.
Edited by LuthfiHakim, 08 March 2013 - 08:39 PM.