解决方案 »
- 如果exe已经调用了AfxInitOle()那么它再装载一个dll,dll还需要AfxInitOle来使用OLE功能吗?
- 使用odbc连接远程数据库,如何检测未连接!!
- VS2008中,如何去除dialog的边框
- 急!关于Explorer右键菜单, 不是载入,是关于分离Dll
- 高分求助!急!关于控件的字体
- 如何在同一程序中根据不同的情况显示不同的界面?
- 很菜的问题,怎样在应用程序类中创建一个新的文档模板
- MDI 中 怎么样改变子窗口的标题呀?
- 谁能帮帮我!急死了!我真的不懂!来者有分!
- 高手帮忙看个错误吧?First-chance exception in simuBr.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.?
- VC++ 开发的程序运行在其它的机器上字体变小
- 为什么我的OnIdle()自从分割了视图就不被执行了??
高手正解.但有新问题
问题1: 图片能显示了,但是是花的.(尝试多个图片都这样). 图片大小总比原图片大4,5k
问题2: 体会到了fputs和fwrite的区别,但是具体原理是怎么工作的?
更恶心的是,,每次传过来大小还都不一样...显示效果也不一样。
重复N次,原片71K,socket下载的从73-76K,,,且显示效果不同,,偶尔有能成型的...应该是传输问题了..如何解决。
你试试把fopen改成fopen_s,三个参数
if( ( fopen_s( &f,FilePath , "rb" ))==0 )
{
recv(sockfd, text, BUFSIZ, 0);
char *loc= strstr(text, "\r\n\r\n");
fputs(loc, f);}
试了,,,不成。
应该和文件的打开没关系。是每次socket接收到的 数据有差异。我在想是协议设置的问题,导致传输不是安全的,,错误数据比较多。
奥应用就是,现在我Oracle里存的很多图片地址。
我现在要把这些图片,根据地址下载到本地。就直接用socket连接图片地址,,,然后保存返回的图片流。
是fwrite写进去长度时候计算错了...导致存的结果有出入。看这篇最后的回答吧。http://bbs.chinaunix.net/viewthread.php?tid=1118750