分享一个我写的io序列化类IOPack
来源:互联网 发布:如何查看淘宝等级 编辑:程序博客网 时间:2024/04/20 10:31
#include <vector> /************************************************************************//* 一个io模版.来实现对结构体等对象的存储和加载 struct stCityInfo { char cityName[255]; POINT A; POINT B; }; IOPack<stCityInfo> io;
int _tmain(int argc, _TCHAR* argv[]) { io.LoadFromFile("city.dat"); stCityInfo info; strcpy(info.cityName,"武汉"); info.A.x=111; info.A.y=222; info.B.x=333; info.B.y=444; printf("%d \n",io.m_List.size()); } simawei@qq.com 2012*//************************************************************************/template<typename T>class IOPack{public:IOPack(void){}~IOPack(void){} bool LoadFromFile(const char* filename){printf("InitFromFile [%s]\n",filename);FILE* f=fopen(filename,"rb");if (NULL==f){printf("[line:%d][%s] open err\n",__LINE__,__FUNCTION__);return false;}int totalsize = GetFileSize(filename);if (totalsize==-1){return false;}int readoffset=0;while(readoffset<totalsize){T p;fread(&p,sizeof(T),1,f);readoffset+=sizeof(T);m_List.push_back(p); }fclose(f);printf("[line:%d][%s] OK \n",__LINE__,__FUNCTION__);return true;}bool SaveToFile(const char* filename){FILE* f=fopen(filename,"ab+");if (NULL==f){printf("open err\n");return false;}for(int i=0;i<m_List.size();i++){fwrite(&m_List[i],sizeof(T),1,f);}fclose(f);return true;} std::vector<T> m_List;private:long GetFileSize(const char* filename ){FILE* fp = fopen( filename, "r" );if (fp==NULL) return -1;fseek( fp, 0L, SEEK_END );int s=ftell(fp);fclose(fp);return s; }};
阅读全文
0 0
- 分享一个我写的io序列化类IOPack
- 分享一个我自己写的JS目录树
- asp.net 自己写的一个序列化缓存类
- 分享我第一次写的PHP+MYSQL分页类
- 我写的一个锁封装类
- 我写的一个 C++ 复数类
- 我的Android笔记(十二)——分享一个自己写的cnBeta客户端源码
- 花几分钟用Socket.io写一个简单的你画我猜小应用
- 分享一个自己写的IOCP服务器的类源码
- 分享一个自己写的flash位图转换类
- 我,一个写代码的
- 我写的一个定时器
- 我,一个写代码的
- 我,一个写代码的
- 【分享】写的一个桌面应用程序
- 分享一个java写的简单计算器
- 分享成功程序员的多了,我写个反面的教材---一个高龄菜鸟程序员的工作经历
- 分享我的一个Chrome插件
- 通过类的应用,实现对学生的属性定义
- Hive通过JavaAPI操作
- Windows XP下如何取消打印机与任务计划的共享
- highcharts报表开发 一:chart配置
- VMware 虚拟化编程(2) — 虚拟磁盘文件类型详解
- 分享一个我写的io序列化类IOPack
- Hadoop学习3:Hadoop核心组件-MapReduce
- angularJS实现查询/选择排序/添加/敏感字符过滤
- 计数
- [Leetcode] 417. Pacific Atlantic Water Flow 解题报告
- 【树莓派学习笔记】树莓派入坑笔记 一 系统安装
- GlusterFs分布式复本卷 服务器替换实践
- Python数据结构
- java国际化demo解析