当前位置:  开发笔记 > 编程语言 > 正文

C++:在char*中将大型二进制文件(2GB到4GB)保存到RAM中?

如何解决《C++:在char*中将大型二进制文件(2GB到4GB)保存到RAM中?》经验,为你挑选了1个好方法。

我正在使用C++ 文件传输程序,它将文件转换为二进制文件,将字节保存在char*中,然后通过TCP连接将该char*发送到另一台计算机.然后另一台计算机在本地重新创建该文件.该程序确实有效,但我遇到了大文件的大问题!我无法分配足够的数组索引来包含字节!例如,如果我想发送一个600MB的文件,我需要一个带有600万个索引的char*.这有效.但是一旦我走得更高,程序根本无法分配内存而我会收到错误.

我的一个朋友建议我将文件分成块并按块执行传输块,但这会产生大量其他挑战,并且需要我基本上重写整个程序.

有没有办法解决这个问题?



1> Richard Hodg..:

我的一个朋友建议我将文件分成块并按块执行传输块,但这会产生大量其他挑战,并且需要我基本上重写整个程序.

这就是为什么它被称为计算机科学,为什么一旦你掌握了这些挑战,你就可以前往这座城市并赚取大笔资金.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有