gpt4 book ai didi

c - 如何在 C 中通过网络分段发送二进制文件?

转载 作者:太空宇宙 更新时间:2023-11-04 05:45:03 24 4
gpt4 key购买 nike

我对如何将文件从 http 服务器发送到客户端(网络浏览器)有点困惑。

首先我发送标题,我的下一个任务是发送文件内容。但是,当我遇到一些问题时,我想以 512 字节的段而不是整个文件的形式发送它。

我对如何实现这一点有些迷茫。这就是我想要的

read file1;
while (seg=get_next_segment(file1)){
do
send(seg)
until (seg_is_sent)
}

但是我似乎找不到合适的函数来实现它。 freadfseek 掠过我的脑海,但第一个一次读取整个文件,而使用 fseek 我看不到从文件中获取一部分的方法(而不是从文件指针读取直到文件末尾)。

最佳答案

fread不会读取整个文件到最后。它会准确读取您告诉它要阅读的内容。

size_t
fread(void *restrict ptr, size_t size, size_t nitems,
FILE *restrict stream);

size_t
fwrite(const void *restrict ptr, size_t size, size_t nitems,
FILE *restrict stream);

这两个函数都需要一个大小和nitems。您可以将大小设置为 512,将项目数设置为 1(反之亦然),然后只读取文件的那一部分。

关于c - 如何在 C 中通过网络分段发送二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8169944/

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