c - c语言中的web cgi,提供二进制图像文件
问题描述
我在 c 中有一个 cgi 程序,它提供一个 jpeg 文件。它可以工作,但我认为二进制文件需要 fread 和 fwrite 。你能告诉我为什么它适用于带有 getc 和 putc 的二进制文件吗?我认为这些功能仅适用于文本文件?
#include <stdio.h>
int main(){
printf("Content-type: image/jpeg\n\n");
FILE* fp=fopen("../protected/DSCN2099.JPG","rb");
int ch;
while(1){
ch=getc(fp);
if(ch==EOF){
break;
}
putc(ch,stdout);
}
fclose(fp);
return 0;
}
解决方案
推荐阅读
- tar - Deno:处理 tar 存档会导致校验和错误(标准库)
- amazon-web-services - 如何将域路由到 elastickbeanstalk?
- c++ - 如何解释c++11中的静态代码
- python - (PyQt5)如何在我的主窗口中显示一个新窗口?
- c - 停止主线程,直到所有其他线程完成
- c++ - 一般采用可索引/可调用的线性组合
- python - 如何在代码中强制自动重新加载 Flask?
- r - (434) WSA E TimedOut:丢失与 R 中 Teradata 服务器的套接字连接
- csv - 无法将 csv 文件加载到雪花中
- excel - 使用 Excel VBA 删除相似行