网上找的《天龙八部》资源读取,先拷贝下来存储在这里,希望有读取文件夹的功能!最近一直在愁读取文件夹

#include <stdio.h> #include <string> #include <windows.h> #include <shlobj.h> using namespace std; int do16bit(char t) { switch(t) { case '0': return 0; case '1': return 1; case '2': return 2; case '3': return 3; case '4': return 4; case '5': return 5; case '6': return 6; case '7': return 7; case '8': return 8; case '9': return 9; case 'A': return 10; case 'B': return 11; case 'C': return 12; case 'D': return 13; case 'E': return 14; case 'F': return 15; default: return 0; } } struct fileinfo { std::string name; int off; int size; }; void mkdir(const char* path) { char buff[256]; GetCurrentDirectory(256,buff); strcat(buff,"//"); strcat(buff,path); SHCreateDirectoryEx(NULL,buff,NULL); } void domaterial() { FILE *fp = fopen( "Material.axp", "rb" ); if( fp == NULL ) { return; } int nCount = 0; fseek( fp, 0, SEEK_END ); int nSize = ftell( fp ); fseek( fp, 0x0b7b5d30, 0 ); int msize = nSize - 0x0b7b5d30; char *pData = new char[msize]; fread( pData, 1, msize, fp ); std::string mfile = pData; int star = 1; int off = mfile.find("/n",star); std::string temp = mfile.substr(star,off-star); int mfnum = atoi(temp.c_str()); fileinfo *mfulelist = new fileinfo[mfnum]; mkdir("Material"); FILE *fout = fopen("Material//Material.txt","wb"); for(int i=0; i<mfnum;i++) { star = off+1; off = mfile.find("/n",star); temp = mfile.substr(star,off-star); int off1 = temp.find("|",0); int off2 = temp.find("|",off1+1); mfulelist[i].name = temp.substr(0,off1); std::string fsize = temp.substr(off1+1,off2-off1-1); mfulelist[i].size = (((((( do16bit(fsize[0])*16+ do16bit(fsize[1]))*16+ do16bit(fsize[2]))*16+ do16bit(fsize[3]))*16+ do16bit(fsize[4]))*16+ do16bit(fsize[5]))*16+ do16bit(fsize[6]))*16+ do16bit(fsize[7]); if(mfulelist[i].name == string("Icons/MenpaiLiveSkill2.jpg")) { mfulelist[i].size = 97604; } if(mfulelist[i].name == string("Icons/TaskTools4.jpg")) { mfulelist[i].size = 77308; } if(i==0) { mfulelist[i].off = 0x00160028; } else { mfulelist[i].off = mfulelist[i-1].off + mfulelist[i-1].size; while(1) { if(mfulelist[i].off%8 == 0) { fseek( fp,mfulelist[i].off , 0 ); fread( pData, 1, 8, fp ); if(!(pData[0] == '/0'&&pData[1] == '/0'&&pData[2] == '/0'&&pData[3] == '/0' &&pData[4] == '/0'&&pData[5] == '/0'&&pData[6] == '/0'&&pData[7] == '/0')) { break; } } ++mfulelist[i].off; } } char *nfilestr = new char[256]; sprintf(nfilestr,"%d/t%s/t%d/n",i,temp.c_str(),mfulelist[i].off); std::string mfilestr = nfilestr; fwrite((void*)mfilestr.c_str(),1,mfilestr.size(),fout); } fclose(fout); for(int i=0; i<mfnum;i++) { fseek( fp, mfulelist[i].off, 0 ); char *filedata = new char[mfulelist[i].size]; fread( filedata, 1, mfulelist[i].size, fp ); if(i == 654) { } int mbdir = 0; while(1) { mbdir = mfulelist[i].name.find("/",mbdir+1); if(mbdir>0) { std::string mdir = mfulelist[i].name.substr(0,mbdir); mkdir((std::string("Material//")+mdir).c_str()); } else { break; } } FILE *fout = fopen((std::string("Material//")+mfulelist[i].name).c_str(),"wb"); fwrite((const void*)filedata,1,mfulelist[i].size,fout); fclose(fout); } fclose(fp); } void domodel() { FILE *fp = fopen( "model.axp", "rb" ); if( fp == NULL ) return; int nCount = 0; fseek( fp, 0, SEEK_END ); int nSize = ftell( fp ); fseek( fp, 0x0c628730, 0 ); int msize = nSize - 0x0c628730; char *pData = new char[msize]; fread( pData, 1, msize, fp ); std::string mfile = pData; int star = 1; int off = mfile.find("/n",star); std::string temp = mfile.substr(star,off-star); int mfnum = atoi(temp.c_str()); fileinfo *mfulelist = new fileinfo[mfnum]; mkdir("Model"); FILE *fout = fopen("Model//Model.txt","wb"); for(int i=0; i<mfnum;i++) { star = off+1; off = mfile.find("/n",star); temp = mfile.substr(star,off-star); int off1 = temp.find("|",0); int off2 = temp.find("|",off1+1); mfulelist[i].name = temp.substr(0,off1); std::string fsize = temp.substr(off1+1,off2-off1-1); mfulelist[i].size = (((((( do16bit(fsize[0])*16+ do16bit(fsize[1]))*16+ do16bit(fsize[2]))*16+ do16bit(fsize[3]))*16+ do16bit(fsize[4]))*16+ do16bit(fsize[5]))*16+ do16bit(fsize[6]))*16+ do16bit(fsize[7]); if(i==0) { mfulelist[i].off = 0x00160028; } else { mfulelist[i].off = mfulelist[i-1].off + mfulelist[i-1].size; while(1) { if(mfulelist[i].off%8 == 0) { fseek( fp,mfulelist[i].off , 0 ); fread( pData, 1, 8, fp ); if(!(pData[0] == '/0'&&pData[1] == '/0'&&pData[2] == '/0'&&pData[3] == '/0' &&pData[4] == '/0'&&pData[5] == '/0'&&pData[6] == '/0'&&pData[7] == '/0')) { break; } } ++mfulelist[i].off; } } char *nfilestr = new char[256]; sprintf(nfilestr,"%d/t%s/t%d/n",i,temp.c_str(),mfulelist[i].off); std::string mfilestr = nfilestr; fwrite((void*)mfilestr.c_str(),1,mfilestr.size(),fout); } fclose(fout); for(int i=0; i<mfnum;i++) { fseek( fp, mfulelist[i].off, 0 ); char *filedata = new char[mfulelist[i].size]; fread( filedata, 1, mfulelist[i].size, fp ); if(i == 654) { } int mbdir = 0; while(1) { mbdir = mfulelist[i].name.find("/",mbdir+1); if(mbdir>0) { std::string mdir = mfulelist[i].name.substr(0,mbdir); mkdir((std::string("Model//")+mdir).c_str()); } else { break; } } FILE *fout = fopen((std::string("Model//")+mfulelist[i].name).c_str(),"wb"); fwrite((const void*)filedata,1,mfulelist[i].size,fout); fclose(fout); } fclose(fp); } void doBrushes() { FILE *fp = fopen( "brushes.axp", "rb" ); if( fp == NULL ) return; int nCount = 0; fseek( fp, 0, SEEK_END ); int nSize = ftell( fp ); fseek( fp, 0x01e97e30, 0 ); int msize = nSize - 0x01e97e30; char *pData = new char[msize]; fread( pData, 1, msize, fp ); std::string mfile = pData; int star = 1; int off = mfile.find("/n",star); std::string temp = mfile.substr(star,off-star); int mfnum = atoi(temp.c_str()); fileinfo *mfulelist = new fileinfo[mfnum]; mkdir("Brushes"); FILE *fout = fopen("Brushes//Brushes.txt","wb"); for(int i=0; i<mfnum;i++) { star = off+1; off = mfile.find("/n",star); temp = mfile.substr(star,off-star); int off1 = temp.find("|",0); int off2 = temp.find("|",off1+1); mfulelist[i].name = temp.substr(0,off1); std::string fsize = temp.substr(off1+1,off2-off1-1); mfulelist[i].size = (((((( do16bit(fsize[0])*16+ do16bit(fsize[1]))*16+ do16bit(fsize[2]))*16+ do16bit(fsize[3]))*16+ do16bit(fsize[4]))*16+ do16bit(fsize[5]))*16+ do16bit(fsize[6]))*16+ do16bit(fsize[7]); if(i==0) { mfulelist[i].off = 0x00160028; } else { mfulelist[i].off = mfulelist[i-1].off + mfulelist[i-1].size; while(1) { if(mfulelist[i].off%8 == 0) { fseek( fp,mfulelist[i].off , 0 ); fread( pData, 1, 8, fp ); if(!(pData[0] == '/0'&&pData[1] == '/0'&&pData[2] == '/0'&&pData[3] == '/0' &&pData[4] == '/0'&&pData[5] == '/0'&&pData[6] == '/0'&&pData[7] == '/0')) { break; } } ++mfulelist[i].off; } } char *nfilestr = new char[256]; sprintf(nfilestr,"%d/t%s/t%d/n",i,temp.c_str(),mfulelist[i].off); std::string mfilestr = nfilestr; fwrite((void*)mfilestr.c_str(),1,mfilestr.size(),fout); } fclose(fout); for(int i=0; i<mfnum;i++) { fseek( fp, mfulelist[i].off, 0 ); char *filedata = new char[mfulelist[i].size]; fread( filedata, 1, mfulelist[i].size, fp ); if(i == 654) { } int mbdir = 0; while(1) { mbdir = mfulelist[i].name.find("/",mbdir+1); if(mbdir>0) { std::string mdir = mfulelist[i].name.substr(0,mbdir); mkdir((std::string("Brushes//")+mdir).c_str()); } else { break; } } FILE *fout = fopen((std::string("Brushes//")+mfulelist[i].name).c_str(),"wb"); fwrite((const void*)filedata,1,mfulelist[i].size,fout); fclose(fout); } fclose(fp); } void doEffect() { FILE *fp = fopen( "effect.axp", "rb" ); if( fp == NULL ) return; int nCount = 0; fseek( fp, 0, SEEK_END ); int nSize = ftell( fp ); fseek( fp, 0x00746730, 0 ); int msize = nSize - 0x00746730; char *pData = new char[msize]; fread( pData, 1, msize, fp ); std::string mfile = pData; int star = 1; int off = mfile.find("/n",star); std::string temp = mfile.substr(star,off-star); int mfnum = atoi(temp.c_str()); fileinfo *mfulelist = new fileinfo[mfnum]; mkdir("Effect"); FILE *fout = fopen("Effect//Effect.txt","wb"); for(int i=0; i<mfnum;i++) { star = off+1; off = mfile.find("/n",star); temp = mfile.substr(star,off-star); int off1 = temp.find("|",0); int off2 = temp.find("|",off1+1); mfulelist[i].name = temp.substr(0,off1); std::string fsize = temp.substr(off1+1,off2-off1-1); mfulelist[i].size = (((((( do16bit(fsize[0])*16+ do16bit(fsize[1]))*16+ do16bit(fsize[2]))*16+ do16bit(fsize[3]))*16+ do16bit(fsize[4]))*16+ do16bit(fsize[5]))*16+ do16bit(fsize[6]))*16+ do16bit(fsize[7]); if(i==0) { mfulelist[i].off = 0x00160028; } else { mfulelist[i].off = mfulelist[i-1].off + mfulelist[i-1].size; while(1) { if(mfulelist[i].off%8 == 0) { fseek( fp,mfulelist[i].off , 0 ); fread( pData, 1, 8, fp ); if(!(pData[0] == '/0'&&pData[1] == '/0'&&pData[2] == '/0'&&pData[3] == '/0' &&pData[4] == '/0'&&pData[5] == '/0'&&pData[6] == '/0'&&pData[7] == '/0')) { break; } } ++mfulelist[i].off; } } char *nfilestr = new char[256]; sprintf(nfilestr,"%d/t%s/t%d/n",i,temp.c_str(),mfulelist[i].off); std::string mfilestr = nfilestr; fwrite((void*)mfilestr.c_str(),1,mfilestr.size(),fout); } fclose(fout); for(int i=0; i<mfnum;i++) { fseek( fp, mfulelist[i].off, 0 ); char *filedata = new char[mfulelist[i].size]; fread( filedata, 1, mfulelist[i].size, fp ); if(i == 654) { } int mbdir = 0; while(1) { mbdir = mfulelist[i].name.find("/",mbdir+1); if(mbdir>0) { std::string mdir = mfulelist[i].name.substr(0,mbdir); mkdir((std::string("Effect//")+mdir).c_str()); } else { break; } } FILE *fout = fopen((std::string("Effect//")+mfulelist[i].name).c_str(),"wb"); fwrite((const void*)filedata,1,mfulelist[i].size,fout); fclose(fout); } fclose(fp); } void doInterface() { FILE *fp = fopen( "interface.axp", "rb" ); if( fp == NULL ) return; int nCount = 0; fseek( fp, 0, SEEK_END ); int nSize = ftell( fp ); fseek( fp, 0x012ee230, 0 ); int msize = nSize - 0x012ee230; char *pData = new char[msize]; fread( pData, 1, msize, fp ); std::string mfile = pData; int star = 1; int off = mfile.find("/n",star); std::string temp = mfile.substr(star,off-star); int mfnum = atoi(temp.c_str()); fileinfo *mfulelist = new fileinfo[mfnum]; mkdir("Interface"); FILE *fout = fopen("Interface//Interface.txt","wb"); for(int i=0; i<mfnum;i++) { star = off+1; off = mfile.find("/n",star); temp = mfile.substr(star,off-star); int off1 = temp.find("|",0); int off2 = temp.find("|",off1+1); mfulelist[i].name = temp.substr(0,off1); std::string fsize = temp.substr(off1+1,off2-off1-1); mfulelist[i].size = (((((( do16bit(fsize[0])*16+ do16bit(fsize[1]))*16+ do16bit(fsize[2]))*16+ do16bit(fsize[3]))*16+ do16bit(fsize[4]))*16+ do16bit(fsize[5]))*16+ do16bit(fsize[6]))*16+ do16bit(fsize[7]); if(i==0) { mfulelist[i].off = 0x00160028; } else { mfulelist[i].off = mfulelist[i-1].off + mfulelist[i-1].size; while(1) { if(mfulelist[i].off%8 == 0) { fseek( fp,mfulelist[i].off , 0 ); fread( pData, 1, 8, fp ); if(!(pData[0] == '/0'&&pData[1] == '/0'&&pData[2] == '/0'&&pData[3] == '/0' &&pData[4] == '/0'&&pData[5] == '/0'&&pData[6] == '/0'&&pData[7] == '/0')) { break; } } ++mfulelist[i].off; } } char *nfilestr = new char[256]; sprintf(nfilestr,"%d/t%s/t%d/n",i,temp.c_str(),mfulelist[i].off); std::string mfilestr = nfilestr; fwrite((void*)mfilestr.c_str(),1,mfilestr.size(),fout); } fclose(fout); for(int i=0; i<mfnum;i++) { fseek( fp, mfulelist[i].off, 0 ); char *filedata = new char[mfulelist[i].size]; fread( filedata, 1, mfulelist[i].size, fp ); if(i == 654) { } int mbdir = 0; while(1) { mbdir = mfulelist[i].name.find("/",mbdir+1); if(mbdir>0) { std::string mdir = mfulelist[i].name.substr(0,mbdir); mkdir((std::string("Interface//")+mdir).c_str()); } else { break; } } FILE *fout = fopen((std::string("Interface//")+mfulelist[i].name).c_str(),"wb"); fwrite((const void*)filedata,1,mfulelist[i].size,fout); fclose(fout); } fclose(fp); } void doSound() { FILE *fp = fopen( "sound.axp", "rb" ); if( fp == NULL ) return; int nCount = 0; fseek( fp, 0, SEEK_END ); int nSize = ftell( fp ); fseek( fp, 0x07ce2930, 0 ); int msize = nSize - 0x07ce2930; char *pData = new char[msize]; fread( pData, 1, msize, fp ); std::string mfile = pData; int star = 1; int off = mfile.find("/n",star); std::string temp = mfile.substr(star,off-star); int mfnum = atoi(temp.c_str()); fileinfo *mfulelist = new fileinfo[mfnum]; mkdir("Sound"); FILE *fout = fopen("Sound//Sound.txt","wb"); for(int i=0; i<mfnum;i++) { star = off+1; off = mfile.find("/n",star); temp = mfile.substr(star,off-star); int off1 = temp.find("|",0); int off2 = temp.find("|",off1+1); mfulelist[i].name = temp.substr(0,off1); std::string fsize = temp.substr(off1+1,off2-off1-1); mfulelist[i].size = (((((( do16bit(fsize[0])*16+ do16bit(fsize[1]))*16+ do16bit(fsize[2]))*16+ do16bit(fsize[3]))*16+ do16bit(fsize[4]))*16+ do16bit(fsize[5]))*16+ do16bit(fsize[6]))*16+ do16bit(fsize[7]); if(i==0) { mfulelist[i].off = 0x00160028; } else { mfulelist[i].off = mfulelist[i-1].off + mfulelist[i-1].size; while(1) { if(mfulelist[i].off%8 == 0) { fseek( fp,mfulelist[i].off , 0 ); fread( pData, 1, 8, fp ); if(!(pData[0] == '/0'&&pData[1] == '/0'&&pData[2] == '/0'&&pData[3] == '/0' &&pData[4] == '/0'&&pData[5] == '/0'&&pData[6] == '/0'&&pData[7] == '/0')) { break; } } ++mfulelist[i].off; } } char *nfilestr = new char[256]; sprintf(nfilestr,"%d/t%s/t%d/n",i,temp.c_str(),mfulelist[i].off); std::string mfilestr = nfilestr; fwrite((void*)mfilestr.c_str(),1,mfilestr.size(),fout); } fclose(fout); for(int i=0; i<mfnum;i++) { fseek( fp, mfulelist[i].off, 0 ); char *filedata = new char[mfulelist[i].size]; fread( filedata, 1, mfulelist[i].size, fp ); if(i == 654) { } int mbdir = 0; while(1) { mbdir = mfulelist[i].name.find("/",mbdir+1); if(mbdir>0) { std::string mdir = mfulelist[i].name.substr(0,mbdir); mkdir((std::string("Sound//")+mdir).c_str()); } else { break; } } FILE *fout = fopen((std::string("Sound//")+mfulelist[i].name).c_str(),"wb"); fwrite((const void*)filedata,1,mfulelist[i].size,fout); fclose(fout); } fclose(fp); } void doScene() { FILE *fp = fopen( "scene.axp", "rb" ); if( fp == NULL ) { return; } int nCount = 0; fseek( fp, 0, SEEK_END ); int nSize = ftell( fp ); fseek( fp, 0x159b8b30, 0 ); int msize = nSize - 0x159b8b30; char *pData = new char[msize]; fread( pData, 1, msize, fp ); std::string mfile = pData; int star = 1; int off = mfile.find("/n",star); std::string temp = mfile.substr(star,off-star); int mfnum = atoi(temp.c_str()); fileinfo *mfulelist = new fileinfo[mfnum]; mkdir("Scene"); FILE *fout = fopen("Scene//Scene.txt","wb"); for(int i=0; i<mfnum;i++) { star = off+1; off = mfile.find("/n",star); temp = mfile.substr(star,off-star); int off1 = temp.find("|",0); int off2 = temp.find("|",off1+1); mfulelist[i].name = temp.substr(0,off1); std::string fsize = temp.substr(off1+1,off2-off1-1); mfulelist[i].size = (((((( do16bit(fsize[0])*16+ do16bit(fsize[1]))*16+ do16bit(fsize[2]))*16+ do16bit(fsize[3]))*16+ do16bit(fsize[4]))*16+ do16bit(fsize[5]))*16+ do16bit(fsize[6]))*16+ do16bit(fsize[7]); if(i==0) { mfulelist[i].off = 0x00160028; } else { mfulelist[i].off = mfulelist[i-1].off + mfulelist[i-1].size; while(1) { if(mfulelist[i].off%8 == 0) { fseek( fp,mfulelist[i].off , 0 ); fread( pData, 1, 8, fp ); if(!(pData[0] == '/0'&&pData[1] == '/0'&&pData[2] == '/0'&&pData[3] == '/0' &&pData[4] == '/0'&&pData[5] == '/0'&&pData[6] == '/0'&&pData[7] == '/0')) { break; } } ++mfulelist[i].off; } } char *nfilestr = new char[256]; sprintf(nfilestr,"%d/t%s/t%d/n",i,temp.c_str(),mfulelist[i].off); std::string mfilestr = nfilestr; fwrite((void*)mfilestr.c_str(),1,mfilestr.size(),fout); } fclose(fout); for(int i=0; i<mfnum;i++) { fseek( fp, mfulelist[i].off, 0 ); char *filedata = new char[mfulelist[i].size]; fread( filedata, 1, mfulelist[i].size, fp ); if(i == 654) { } int mbdir = 0; while(1) { mbdir = mfulelist[i].name.find("/",mbdir+1); if(mbdir>0) { std::string mdir = mfulelist[i].name.substr(0,mbdir); mkdir((std::string("Scene//")+mdir).c_str()); } else { break; } } FILE *fout = fopen((std::string("Scene//")+mfulelist[i].name).c_str(),"wb"); fwrite((const void*)filedata,1,mfulelist[i].size,fout); fclose(fout); } fclose(fp); } int main() { domaterial(); domodel(); doBrushes(); doEffect(); doInterface(); doSound(); doScene(); }

天龙八部资源提取源代码相关推荐

  1. 通用型游戏资源提取工具介绍

    先感慨一下,这是篇2007年的帖子啊!!13年了! 游戏资源包括了游戏的图片.文字.音乐.动画和其他数据资源.虽然很多游戏的资源都是开放的或者采用通用格式压缩的,但也不少游戏是经特殊格式打包过了,要想 ...

  2. dds提取工具_多媒体资源提取工具(MultiExtractor)

    MultiExtractor-软件资源提取器下载,支持从exe.dll等可执行文件中提取图片.图标.音频.视频等多媒体资源. 相关软件软件大小版本说明下载地址 软件资源提取器MultiExtracto ...

  3. dds提取工具_游戏资源提取器(game extractor)

    game extractor提供游戏资源获取功能,可以帮助用户在软件上快速将游戏中的资源提取,您可以将游戏文件添加到软件,随后选择需要提取的格式,可以选择对视频.音乐.素材.xml文件等内容提取,方便 ...

  4. 手游游戏资源提取 (AssetStudio、VGMToolbox)

    参考: 公主连结 游戏资源提取(解包)简明教程 想拿点知名IP的手游素材做点demo,然后搜了下如何能拿到app的素材资源 一 下载apk 二 AssetStudio获得图片 三 VGMToolbox ...

  5. Unity资源提取+KTX贴图转PNG

    1.Unity资源提取工具:Disunity 下载地址:https://github.com/ata4/disunity 使用方法:java -jar disunity.jar extract /.. ...

  6. 通用型游戏资源提取工具介绍收藏

    游戏资源包括了游戏的图片.文字.音乐.动画和其他数据资源.虽然很多游戏的资源都是开放的或者采用通用格式压缩的,但也不少游戏是经特殊格式打包过了,要想得到这些资源可以寻找专用的资源提取工具.但并非所有游 ...

  7. 【转贴】通用型游戏资源提取工具介绍 (推荐)

    游戏资源包括了游戏的图片.文字.音乐.动画和其他数据资源.虽然很多游戏的资源都是开放的或者采用通用格式压缩的,但也不少游戏是经特殊格式打包过了,要想得到这些资源可以寻找专用的资源提取工具.但并非所有游 ...

  8. Silverlight游戏开发之游戏资源提取篇

    别人开发游戏都是讲一些理论思想之类,不才就down资源提取器,提取游戏相应资源,用photpshop改为带透明通道的.png图片,并自己写了一些小的辅助程序实现批量重命名和根据编号从偏移量文件中提取相 ...

  9. 关于召开“2022第五届全国生物资源提取与应用

    关于召开"2022第五届全国生物资源提取与应用 创新论坛"的通知 各有关单位: 为进一步加强生物资源提取行业交流与合作,促进行业"产学研用"融合,提升行业科技创 ...

最新文章

  1. 小程序之获取用户信息取消授权处理
  2. Gradle 学习二
  3. android中返回刷新,Android intent 传递对象以及返回刷新
  4. 插件式架构设计实践一:插件式系统架构设计简介
  5. python玩转android_怎样用python玩安卓版跳一跳
  6. 工程勘察设计收费标准2002修订版_2020抚顺花海工程设计收费标准
  7. Spring事务-1
  8. ElementUI:dialog的遮罩层在弹出层的上面
  9. C#初学者教程系列19:Winform应用程序
  10. 组态软件MCGS(昆仑通态)初识
  11. C#listview控件
  12. 如何搭建视频点播服务
  13. mysql 修改 character_set_database_如何将character_set_database latin1 改为 gbk(转)
  14. 微信中“下单账号和支付账号不一致,请核实后再支付”原因及解决办法 hideMenuItems 复制链接
  15. [ 高斯消元 二分图最大匹配 ] [ HEOI2013 ] BZOJ3168 钙铁锌硒维生素
  16. 一根网线搞定树莓派可视化界面
  17. 人员离职it检查_经典的it公司员工离职报告范文
  18. 4 第二式:左右开弓似射雕
  19. 成人教育有什么用处?
  20. python 抽奖 配音乐_用Python做个年会抽奖小程序吧

热门文章

  1. 延伸联接边界,扩展业务范围,全面迈向智能云网2.0时代
  2. 所向无前 正当年!掌上英雄联盟S10换肤设计小结
  3. 文字排版(C程序设计进阶第5周)
  4. python 遍历文件夹下所有mp3
  5. 004-基于统计的翻译系统
  6. keil切换光标快捷键“_”“|”
  7. 「气氛组」提升社群活跃的奥妙
  8. 怎么把cad转换成pdf格式
  9. Pandas详解三之Index对象
  10. vue3 使用 monaco-editor 自定义代码补全。