C/CGI问题:怎样将一个文件发送至stdout

BrownTerran 2005-08-24 10:13:48
我现在是这样做的:
while (c = getc(f) != EOF)
putchar (c);
这样一个字符一个字符的输出是不是太没有效率了?有没有变通的方法能够一次性的全部输出到stdout?(就是客户端浏览器)
...全文
164 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bamboo2000 2005-11-07
  • 打赏
  • 举报
回复
c写cgi不能用
getc(f) != EOF
来判断的
for( i=0;i<getenv("CONTENT-LENGTH");i++)
putchar(getchar());
ykj76 2005-08-30
  • 打赏
  • 举报
回复
printf("Content-Type:application/octet-stream\r\n\r\n");
BrownTerran 2005-08-26
  • 打赏
  • 举报
回复
谢谢各位的指导。SDK用习惯了,C/C++的运行库函数都忘记了。惭愧
另外一个问题,如果我向客户端SOCKET传送一个文本文件,那么用
printf("Content-Type:text/plain\r\n\r\n");
但是我现在要传送任意类型的文件(实话说,是我们自己定义的格式),上面的Content-Type应该怎么写?
Meteorlet 2005-08-26
  • 打赏
  • 举报
回复
fread
hsboy 2005-08-24
  • 打赏
  • 举报
回复
你不比太担心,因为这些函数都是有缓存的,不会每次你调用都执行io操作。另外,如果你觉得这样没效率,至少可以getc换成fgets啊,一次读一行不是好很多?

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧