易截截图软件、单文件、免安装、纯绿色、仅160KB

c/c++ 向网页输出图片的问题

C/C++ code:

fprintf(stdout,"Content-Type:image/jpeg;\n\n");
result = _setmode(_fileno(stdout),_O_BINARY);

if( result == -1)
{
//浏览器将自动根据输出内容转换为文本输出
fprintf(stdout,"模式输出转换出错,程序将退出");
exit(1);
}
else
{
char ch;
while(!imageFile.eof())
{
imageFile.get(ch);

//wprintf("%wc",(TCHAR)ch);

fprintf(stdout,"%c",ch);
}
imageFile.close();


}
//_setmode(_fileno(stdout),_O_TEXT);




这是我的代码片段,此时图片显示一切正常,如果我注释去掉,则图片会有部分由刮花现象,感觉就像是二进制还没传输完,又变成字符模块输出了,但是看程序是在都输出完才转成TEXT模式的啊。。难道还有其他玄机??
求高手指点
后面那段//_setmode(_fileno(stdout),_O_TEXT);没有必要


恩,如果单独输出图片的话是不需要,但是我以前看过,MIME可以混合输出,包括图片和文字,如果我接下来继续还想输出文字的话,那应该需要重新设置模式的吧?

但是如果像我代码那样模式改变下,图片输出就不正常了,我的问题就是这个应该怎么解决呢?




问题已经解决,只要在换模式前用下 fflush(stdout);函数即可输出正常


相关问答:

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

c#控制Mysql 实现自动删除功能 - .NET技术 / C#

有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......

C 程序问题(四) - C/C++ / C语言

#include "stdio.h"
int main()
{
  char *ch(char *, char *);
  char str1[]="I am glad to meet you!";
  char str2[]="Welcom to study C!";
&nb ......

C/C++里屏shift+f10键要怎么写! - C/C++ / C++ 语言

SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html ......

C#填网页表单的问题 - .NET技术 / C#

我这里有一个登陆WIFI网络的页面。由于WIFI经常断线,所以要反复地在这个网页上登陆,没法无人值守。
所以,我想做一个C#程序,放一个webbrowser控件,自动填表并自动点击提交按钮。
问题一:
基本照网上找的程序 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号