std :: fstream文件超过2GB

And*_*reo 5 c++ fstream

如果我有一个带有32位std :: streampos的std :: fstream的实现,我应该使用什么策略?如果我想移动位置,我可以分几个步骤(10gb - 10次+ 1gb).我怎样才能获得职位?或者我应该在fstream之外的某个变量中保持当前位置?

PS我无法改变STL的实现.

Chr*_*son 1

如果您无法搞乱 STL,那么自己跟踪当前位置是最直接的答案。如果您的编译器支持该long long类型,我会同意。