<tfoot id='H5zz7'></tfoot>
<i id='H5zz7'><tr id='H5zz7'><dt id='H5zz7'><q id='H5zz7'><span id='H5zz7'><b id='H5zz7'><form id='H5zz7'><ins id='H5zz7'></ins><ul id='H5zz7'></ul><sub id='H5zz7'></sub></form><legend id='H5zz7'></legend><bdo id='H5zz7'><pre id='H5zz7'><center id='H5zz7'></center></pre></bdo></b><th id='H5zz7'></th></span></q></dt></tr></i><div id='H5zz7'><tfoot id='H5zz7'></tfoot><dl id='H5zz7'><fieldset id='H5zz7'></fieldset></dl></div>
    • <bdo id='H5zz7'></bdo><ul id='H5zz7'></ul>

      <small id='H5zz7'></small><noframes id='H5zz7'>

      1. <legend id='H5zz7'><style id='H5zz7'><dir id='H5zz7'><q id='H5zz7'></q></dir></style></legend>

        使用 c++ stl 读取大于 4GB 的文件

        时间:2023-08-26
        • <i id='EPtii'><tr id='EPtii'><dt id='EPtii'><q id='EPtii'><span id='EPtii'><b id='EPtii'><form id='EPtii'><ins id='EPtii'></ins><ul id='EPtii'></ul><sub id='EPtii'></sub></form><legend id='EPtii'></legend><bdo id='EPtii'><pre id='EPtii'><center id='EPtii'></center></pre></bdo></b><th id='EPtii'></th></span></q></dt></tr></i><div id='EPtii'><tfoot id='EPtii'></tfoot><dl id='EPtii'><fieldset id='EPtii'></fieldset></dl></div>
            <tbody id='EPtii'></tbody>
        • <tfoot id='EPtii'></tfoot>
            <bdo id='EPtii'></bdo><ul id='EPtii'></ul>

          • <legend id='EPtii'><style id='EPtii'><dir id='EPtii'><q id='EPtii'></q></dir></style></legend>

            <small id='EPtii'></small><noframes id='EPtii'>

                • 本文介绍了使用 c++ stl 读取大于 4GB 的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  几周前,我使用 std::ifstream 读取一些文件,但打开时立即失败,因为文件大于 4GB.当时我找不到合适的答案来解释为什么它被限制为 32 位文件大小,所以我使用原生 OS API 编写了自己的 API.

                  A few weeks back I was using std::ifstream to read in some files and it was failing immediately on open because the file was larger than 4GB. At the time I couldnt find a decent answer as to why it was limited to 32 bit files sizes, so I wrote my own using native OS API.

                  那么,我的问题是:有没有办法使用 std::ifstream/std::ostream(IE:标准 C++)处理大于 4GB 的文件

                  So, my question then: Is there a way to handle files greater than 4GB in size using std::ifstream/std::ostream (IE: standard c++)

                  使用来自 VC 9 编译器 (Visual Studio 2008) 的 STL 实现.当然必须有标准的方法来支持大于 4GB 的文件大小.

                  Using the STL implementation from the VC 9 compiler (Visual Studio 2008). Surely there has to be standard way to support file sizes larger than 4GB.

                  推荐答案

                  显然这取决于库如何实现 off_t.

                  Apparently it depends on how off_t is implemented by the library.

                  #include <streambuf>
                  __int64_t temp=std::numeric_limits<std::streamsize>::max();
                  

                  为您提供当前的最大值.

                  gives you what the current max is.

                  STLport 支持更大的文件.

                  这篇关于使用 c++ stl 读取大于 4GB 的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:如何在 C++ 中计算文件的行数? 下一篇:如何检查文件是否是 gzip 压缩的?

                  相关文章

                  <tfoot id='us6BT'></tfoot>

                  <small id='us6BT'></small><noframes id='us6BT'>

                  1. <i id='us6BT'><tr id='us6BT'><dt id='us6BT'><q id='us6BT'><span id='us6BT'><b id='us6BT'><form id='us6BT'><ins id='us6BT'></ins><ul id='us6BT'></ul><sub id='us6BT'></sub></form><legend id='us6BT'></legend><bdo id='us6BT'><pre id='us6BT'><center id='us6BT'></center></pre></bdo></b><th id='us6BT'></th></span></q></dt></tr></i><div id='us6BT'><tfoot id='us6BT'></tfoot><dl id='us6BT'><fieldset id='us6BT'></fieldset></dl></div>
                    <legend id='us6BT'><style id='us6BT'><dir id='us6BT'><q id='us6BT'></q></dir></style></legend>

                      • <bdo id='us6BT'></bdo><ul id='us6BT'></ul>