gpt4 book ai didi

c - 从管道读取大文件 C/Bash

转载 作者:行者123 更新时间:2023-11-30 15:13:53 25 4
gpt4 key购买 nike

我正在开发 web serverC 。但对于http我正在使用的请求解析和响应 bash .

bash 和服务器之间的通信正在通过 fifo pipes 。我需要找到一个请求的文件,例如 /index.html并通过管道发送到服务器,然后发送到客户端。

我的代码如下所示:

bash:
cat $filename>/tmp/pipeToServer filename is something like index.html or image.jpg

在服务器端我读它的方式如下:

pipe_r = open(/tmp/pipeToServer, O_RDONLY);
n = read(pipe_r, buffer2, sizeof(buffer2));
and buffer2 is char buffer[4096]

所以我的问题是,这仅适用于 1kb 这样的小文件,但是当文件较大时,由于缓冲区大小的限制,我无法读取管道中的全部内容。

最佳答案

增加 buffer2 的大小,以便读取文件的所有内容。截至目前,您的缓冲区大小可能小于文件的内容,因此所有值都不会被读取。

关于c - 从管道读取大文件 C/Bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34253320/

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