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);函数即可输出正常
相关问答:
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......
#include "stdio.h"
int main()
{
char *ch(char *, char *);
char str1[]="I am glad to meet you!";
char str2[]="Welcom to study C!";
&nb ......
SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html
......
我这里有一个登陆WIFI网络的页面。由于WIFI经常断线,所以要反复地在这个网页上登陆,没法无人值守。
所以,我想做一个C#程序,放一个webbrowser控件,自动填表并自动点击提交按钮。
问题一:
基本照网上找的程序 ......