- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++常用操作函数
载入动态库
bool LoadDll()
{
HttpDownDll = LoadLibrary(HTTPDOWNDLL.dll);
if(HttpDownDll == NULL)
{
MessageBox(0, 载?入?动ˉ态?库a错洙?误ó!?, 错洙?误ó, MB_OK|MB_ICONWARNING);
FreeLibrary(HttpDownDll);
return false;
}
SendCommand = (SendCommandFunc)GetProcAddress(HttpDownDll, SendCommand);
if(SendCommand == NULL)
{
MessageBox(0, GetProcAddress错洙?误ó!?, 错洙?误ó, MB_OK|MB_ICONWARNING);
FreeLibrary(HttpDownDll);
return false;
}
return true;
}
卸载动态库
bool FreeDll()
{
FreeLibrary(HttpDownDll);
SendCommand = NULL;
return true;
}
字符串分割
std::vectorstd::string split(std::string str,std::string pattern)
{
std::string::size_type pos;
std::vectorstd::string result;
str+=pattern;//扩?展1字?符?串?以?方?便?操ù作痢?
int size=str.size();
for(int i=0; isize; i++)
{
pos=str.find(pattern,i);
if(possize)
{
std::string s=str.substr(i,pos-i);
result.push_back(s);
i=pos+pattern.size()-1;
}
} return result;
}
UTF8转GBK
void UTF8ToGBK(std::string s)
{
char szOut[256];
memset(szOut,0,256);
strcpy(szOut,s.c_str());
unsigned short* wszGbk = NULL;
char* szGbk = NULL;
//长度
int len = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)szOut, -1, NULL, 0);
wszGbk = new unsigned short[len+1];
memset(wszGbk, 0, len * 2 + 2);
MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)szOut, -1, (LPWSTR)wszGbk, len);
//长度
len = WideCharToMultiByte(CP_ACP, 0, (LPWSTR)wszGbk, -1, NULL, 0, NULL, NULL);
szGbk = new char[len+1];
memset(szGbk, 0, len + 1);
WideCharToMultiByte(CP_ACP, 0, (LPWSTR)wszGbk, -1, szGbk, len, NULL, NULL);
// szOut = szGbk; //这样得到的szOut不正确,因为此句意义是将szGbk的首地址赋给szOut,
// 当delete []szGbk执行后szGbk的内存空间将被释放,此时将得不到szOut的内容
memset(szOut, \0, strlen(szGbk) + 1); //改将szGbk的内容赋给szOut ,这样即使szGbk被释放也能得到正确的值
memcpy(szOut, szGbk, strlen(szGbk));
s=szOut;
delete []szGbk;
delete []wszGbk;
}
删除文件
int DeleteFileFunc(string v_SourceFile)
{
int l_Result = 0;
/* _access(char *,int) 判断文件是否存在
存在 返回0;不存在 返回-1.
_access(const char *path,int mode)
mode的值:
您可能关注的文档
最近下载
- 北京市海淀区2020-2021学年二年级上学期数学期末试卷(教师版).docx VIP
- 2023-2024学年四川省成都市青羊区九年级上学期期末化学试卷 .pdf VIP
- 【英语】高一英语阅读理解专项训练100(附答案).pdf
- 2024高考物理一轮复习第47讲测定电源的电动势和内阻(讲义)(学生版+解析).docx VIP
- 浙江理工大学 991数据结构 2018年考研专业课真题.pdf VIP
- 暖通设计说明【整编】.pdf VIP
- 2025年中央农村工作会议 PPT.pptx VIP
- 公司股东转让股份合同书7篇.docx
- 2023年云南大学滇池学院计算机科学与技术专业《数据库原理》科目期末试卷A(有答案).docx VIP
- 介入超声诊断与治疗.pptx VIP
文档评论(0)