CFile处理(读取路径文件内容,保存在表里面)
2016-03-30 10:11
921 查看
wstring str = CT2W(strPath); str = str.substr(0, str.find_last_of(L".", str.length())) + wstring(CT2W(strExName)); CFileStatus fileStatus; if(!CFile::GetStatus(W2CT(str.c_str()), fileStatus)) { return; } CFile fileEx; if(!fileEx.Open(W2CT(str.c_str()), CFile::modeRead)) { throw CEMRException(L"不能打开指定文件,加载失败!"); } WORD wHeader = 0; fileEx.Read(&wHeader, sizeof(WORD)); if(wHeader != UNICODE_HEADER) fileEx.SeekToBegin(); size_t nFileLen = static_cast<size_t>(fileEx.GetLength()); array_ptr<BYTE> spBuffer(new BYTE[nFileLen + 1]); memset(spBuffer.get(), 0, nFileLen + 1); fileEx.Read(spBuffer.get(), static_cast<UINT>(nFileLen)); fileEx.Close(); array_ptr<XMLCh> spWBuffer; if(wHeader != UNICODE_HEADER)//ANSI转换为双字节 { spWBuffer.reset(XMLString::transcode(reinterpret_cast<char*>(spBuffer.get()))); } else { spWBuffer.reset(reinterpret_cast<XMLCh*>(spBuffer.release())); } wstring strMsg = L""; wstring strClientXml = CEMRClient::Instance().GetClientInfoX(); if(strExName.MakeLower() == _T(".txt")) { CHECK_THROW_PROXY(CHtmlTemplateProxy::SaveNoteInfo(strClientXml, lngID, spWBuffer.get(), strMsg)); }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- android 代码实现控件之间的间距
- [Android]在代码里运行另一个程序的方法
- 关于指针的一些事情
- 肯特·贝克:改变人生的代码整理魔法
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- 网页恶意代码的预防
- 高手写的Tracer-Flash代码调试类代码下载
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- CreateWeb.vbs 代码
- Lua中调用C++函数示例
- Lua中编译执行代码相关的函数详解
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- 更有效率的css代码编写第1/3页
- 代码中到底应不应当写注释?
- C++高级程序员成长之路