起因

  项目中需要可能变动的一些映射关系,而且是封装成独立的库——一个dll文件。

思路:把excel文件导出成.csv文件,当作资源加载到项目里,读取后拿到全部的字符,再分割处理。

添加资源

VS2013里添加资源  在所选项目上右键-添加-资源,弹出的窗口里选择-导入,添加我的.csv文件,资源类型是"csv",点击确定。

这时项目里 会有个 resource1.h 文件,里面有类似这样的代码:

#define IDR_CSV1 101
#define IDR_CSV2 102

这里,101 ,102 就是你添加的资源的id。

资源使用

//加载资源
string UseCustomResource(int rcId)
{
//定位自定义资源,如果是从本模块定位资源,也可将句柄简单地置为NULL即可
//HMODULE phexmodule = GetModuleHandle(L"PCommServerHandler.dll");
HMODULE phexmodule = LoadLibrary(L"PCommServerHandler.dll");
HRSRC hRsrc = FindResource(phexmodule, MAKEINTRESOURCE(rcId), TEXT("csv")); if (NULL == hRsrc)
return "rcError1";
//获取资源的大小
DWORD dwSize = SizeofResource(phexmodule, hRsrc);
if ( == dwSize)
return "rcError2";
//加载资源
HGLOBAL hGlobal = LoadResource(phexmodule, hRsrc);
if (NULL == hGlobal)
return "rcError3";
//锁定资源
LPVOID pBuffer = LockResource(hGlobal);
if (NULL == pBuffer)
return "rcError4"; string s=(char * &)pBuffer;// LPVOID ---> String
s=s.substr(,dwSize); //去除各种文件的附加信息。
return s;
}

加载资源,C++

  调用就很简单一句:string fileTxt=UseCustomResource(101);

拿到的文本做进一步分割处理,加载到map里,就可以使用了,over。

读取excel

这里是一个.csv文件的读写,简单明了:   http://blog.csdn.net/zhongjling/article/details/49818151

最新文章

  1. UTFGrid
  2. 将数据从MySQL迁移到Oracle的注意事项
  3. Atitit  记录方法调用参数上下文arguments
  4. Vim块注释
  5. c#.netGr idView1在div不局中
  6. G面经prepare: BuyGoods
  7. Houdini 13在Ubuntu系统下流畅运行、不崩溃
  8. 【BZOJ3884】【降幂大法】上帝与集合的正确用法
  9. Python 函数的参数知识汇总
  10. JavaScript常用
  11. AngularJS的启动引导过程
  12. SPOJ 15. The Shortest Path 堆优化Dijsktra
  13. spine动画融合与动画叠加
  14. thymeleaf模板的使用(转)
  15. java~接口的共享实体使用Map后更灵活
  16. 使用memcached遇到的一些问题
  17. mysql 数据库的备份与还原 at winows
  18. [leetcode]Combinations @ Python
  19. label上的事件操作执行两次
  20. LGP5075【JSOI2012】分零食

热门文章

  1. Thinkphp2.1爆出重大安全漏洞
  2. Linux中断(interrupt)子系统之一:中断系统基本原理
  3. 最小生成树之Prim(普里姆)算法
  4. JAVA加解密 -- 消息摘要算法
  5. MYSQL百万级数据,如何优化
  6. JSON字符串化
  7. 神秘值分解(Singular Value Decomposition)
  8. Datastage装载数据报错 -798 428C9 不能把一个值插入到用GENERATED ALWAYS定义的ROWID列
  9. Swift 泛型參数
  10. (一)Redis笔记——简介 、key 、数据类型