C/C++图片或文件的读写

C++  /  houtizong 发布于 2年前   173
先看代码:

/*strTmpResult是文件或图片字符串 * filePath文件需要写入的地址或路径 */int writeFile(std::string &strTmpResult,std::string &filePath){    int i,len = strTmpResult.length();    unsigned char pOut[len];    for (i=0;i<len;++i)    {        pOut[i] = strTmpResult[i];    }     FILE*  pFout ;    // 检查文件是否上传成功    if ((pFout = fopen(filePath.c_str(), "wb+")) == NULL)    {  fclose(pFout);    TLOG_ERR("writeFile上传文件失败");    throw Ex(ERR_RULE_FILEUPLOAD);    }  fseek(pFout, 0, SEEK_SET);    // 附件内容    if (fwrite(pOut, len, 1, pFout) < 0)    {        fclose(pFout);    TLOG_ERR("writeFile上传文件失败2");    throw Ex(ERR_RULE_FILEUPLOAD);    }    fclose(pFout);    TLOG_ERR("writeFile写完成");return 0;}

说一说我遇到的事:
if ((pFout = fopen(filePath.c_str(), "wb+")) == NULL)
这句中我一开始是将“wb+"改成”w+",其实是复制人家的代码,导致的结果是我的图片写成功了,但是就是打开后看不成,最后费了好大的劲查了结果才知道应该加入b,要以二进制的形式写图片就成功了

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客