资源描述:
《C++普通实际操作函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/'C++常用操作函数载入动态库boolLoadDll(){HttpDownDll=LoadLibrary("HTTPDOWNDLL.dll");if(HttpDownDll==NULL){MessageBox(0,"载?入?动ˉ态?库a错洙?误ó!?","错洙?误ó",MB_OK
2、MB_ICONWARNING);FreeLibrary(HttpDownDll);returnfalse;}SendCommand=(SendCommandFunc)GetProcAddress(HttpDownDll,"SendCommand");if(SendCo
3、mmand==NULL){MessageBox(0,"GetProcAddress错洙?误ó!?","错洙?误ó",MB_OK
4、MB_ICONWARNING);FreeLibrary(HttpDownDll);returnfalse;}returntrue;}卸载动态库boolFreeDll(){FreeLibrary(HttpDownDll);SendCommand=NULL;returntrue;}字符串分割std::vectorsplit(std::stringstr,std::stringpattern){std
5、::string::size_typepos;std::vectorresult;str+=pattern;//扩?展1字?符?串?以?方?便?操ù作痢?intsize=str.size();for(inti=0;i6、TF8ToGBK(std::string&s){charszOut[256];memset(szOut,0,256);strcpy(szOut,s.c_str());unsignedshort*wszGbk=NULL;char*szGbk=NULL;//长度intlen=MultiByteToWideChar(CP_UTF8,0,(LPCSTR)szOut,-1,NULL,0);wszGbk=newunsignedshort[len+1];memset(wszGbk,0,len*2+2);MultiByteToWideChar(CP_UTF8,0
7、,(LPCSTR)szOut,-1,(LPWSTR)wszGbk,len);//长度len=WideCharToMultiByte(CP_ACP,0,(LPWSTR)wszGbk,-1,NULL,0,NULL,NULL);szGbk=newchar[len+1];memset(szGbk,0,len+1);WideCharToMultiByte(CP_ACP,0,(LPWSTR)wszGbk,-1,szGbk,len,NULL,NULL);//szOut=szGbk;//这样得到的szOut不正确,因为此句意义是将szGbk的首地址赋给szOut
8、,//当delete[]szGbk执行后szGbk的内存空间将被释放,此时将得不到szOut的内容memset(szOut,' ',strlen(szGbk)+1);//改将szGbk的内容赋给szOut,这样即使szGbk被释放也能得到正确的值memcpy(szOut,szGbk,strlen(szGbk));s=szOut;delete[]szGbk;delete[]wszGbk;}删除文件intDeleteFileFunc(stringv_SourceFile){intl_Result=0;/*_access(char*,int)判断文件
9、是否存在/'存在返回0;不存在返回-1._access(constchar*path,intmode)mode的值:00是否存在02写权限04读权限06读写权限*/charl_SourceFile[256]={0};strcpy(l_SourceFile,v_SourceFile.c_str());if(!_access(l_SourceFile,0))//如果文件存在:文件为只读无法删除{//去掉文件只读属性SetFileAttributes(l_SourceFile,0);if(DeleteFile(l_SourceFile))//删除成功{
10、l_Result=0;}else//无法删除:文件只读或无权限执行删除{//cout<