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);函数即可输出正常
相关问答:
问题一:
在对齐为4的情况下
struct BBB
{
long num;
char *name;
short int data;
char ha;
short ba[5];
}*p;
p=0x1000000;
p+0x200=____;
(Ulong)p+0x200=____;
(char*)p+0x200=____;
假设在32位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 ......
SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html
......
两个文件1.PC,1.inc
1.PC有操作oracle数据库的 ,1.inc也有操作oracle数据库
在其他数据中如informix 中$include 1.inc就可以使用了
在ORACLE数据库重 $include 1.inc不可用 EXEC SQL include 1.inc也不可 ......