
文件读取与写入操作——将一张图片用二进制格式读取出来,然后传输,并存储在一个新文件
发布日期:2021-05-14 10:08:31
浏览次数:18
分类:精选文章
本文共 1808 字,大约阅读时间需要 6 分钟。
将一张图片用二进制格式读取出来,然后传输,并存储在一个新文件
/*********************************************************************概要:图片读取与存储测试参考:https://ask.csdn.net/questions/206408 https://blog.csdn.net/yhl_leo/article/details/50782792目的:将一张图片用二进制格式读取出来,然后传输,并存储在一个新文件日期:2019.9.26作者:maohuifei**********************************************************************/#include#include /********************************************************************** 摘 要:将缓冲区数据写入文件* 参 数: buf: filename: size:长度* 当前版本:1.0.0* 作 者:maoge* 日 期:2019.09.07* 备 注:**********************************************************************/void WriteFromStream(char * buf, char * filename, unsigned int size){ FILE * f = fopen(filename, "wb+"); if (f) { fwrite(buf, 1, size, f); fclose(f); }}/********************************************************************** 摘 要:读取文件到缓冲区* 参 数: buf: filename: size:* 当前版本:1.0.0* 作 者:maoge* 日 期:2019.09.07* 备 注:**********************************************************************/void ReadToStream(char * filename){ char new_file[30] = "";//文件名 FILE * f = fopen(filename, "rb"); if (f) { //下面 fseek(f, 0, SEEK_END); int size = ftell(f);//返回给定流stream的当前文件位置。一般作用是获取文件大小,以定义buf大小 char * buf = new char[size]; fseek(f, 0, SEEK_SET); memset(buf, 0, size);//赋初值0 int nRead = fread(buf, sizeof(char), size, f); printf("size=%d\n ", size); printf("nRead=%d\n ",nRead); //int nRead = fread(buf, 1, size, f);//sizeof(char)值就是1 fclose(f); if (nRead > 0) { //将二进制流打印成16进制字符串 for (unsigned int i = 0; i < nRead; i++) { printf("%02X ", (unsigned char)buf[i]); if (i % 16 == 15) { printf("\n"); } } } sprintf(new_file, "new3_%s", filename); WriteFromStream(buf, new_file, size); delete buf; }}int main(){ ReadToStream("03.jpg"); return 0;}
发表评论
最新留言
不错!
[***.144.177.141]2025年04月15日 16时57分19秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解
2021-05-09
【Flink】Flink 底层RPC框架分析
2021-05-09
MySQL错误日志(Error Log)
2021-05-09
解决:angularjs radio默认选中失效问题
2021-05-09
windows环境下安装zookeeper(仅本地使用)
2021-05-09
缓冲区溢出实例(一)--Windows
2021-05-09
Python中字符串前添加r ,b, u, f前缀的含义
2021-05-09
Hadoop学习笔记—Yarn
2021-05-09
JSONPath小试牛刀之Snack3
2021-05-09
Jenkins - 部署在Tomcat容器里的Jenkins,提示“反向代理设置有误”
2021-05-09
wxWidgets源码分析(3) - 消息映射表
2021-05-09
wxWidgets源码分析(5) - 窗口管理
2021-05-09
wxWidgets源码分析(7) - 窗口尺寸
2021-05-09
wxWidgets源码分析(8) - MVC架构
2021-05-09
wxWidgets源码分析(9) - wxString
2021-05-09
Mybatis Generator最完整配置详解
2021-05-09
[白话解析] 深入浅出熵的概念 & 决策树之ID3算法
2021-05-09
[梁山好汉说IT] 梁山好汉和抢劫银行
2021-05-09
[源码解析] 消息队列 Kombu 之 基本架构
2021-05-09