小编fra*_*443的帖子

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

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

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

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

c++ ftp file-io tcp

1
推荐指数
1
解决办法
139
查看次数

标签 统计

c++ ×1

file-io ×1

ftp ×1

tcp ×1