gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 02:44:27 29 4
gpt4 key购买 nike

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

我的一个 friend 建议我将文件分成 block ,然后逐 block 传输,但这会带来许多其他挑战,并且需要我基本上重写整个程序。

有什么办法可以解决这个问题吗?

最佳答案

A friend of mine suggested that I split the file into chunks and do the transfer chunk by chunk, however this creates a plethora of other challenges and would require me to basically rewrite the entire program.

这就是为什么它被称为计算机科学,以及为什么一旦您克服了这些挑战,您就可以前往城市赚大钱。

关于C++:将大型二进制文件(2GB 到 4GB)保存到 char* 中的 RAM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34451745/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com