1、DWORDcount;/文件个数24. Transform_count;/已传送文件个数25. 26. CIniReader*Reader;27. CIniWriter*Writer;28. FILE*fp;/文件指针,创建路径文件29. public:30. 31. TCHAR*GetFirstFile();/得到第一个文件路径32. /voidModifyPath(TCHAR*path);/修改路径字符串33. voidSearchforAllDriver();/搜索所有驱动器34. voidGetDriverList();/得到驱动器列表35. boolSearch(TCHAR*Path
2、,TCHAR*File);/递归搜索36. boolTcharMarch(TCHAR*fileName,TCHAR*Extension);/文件后缀名匹配37. voidSetExpansion(TCHAR*Expansion);/设置新的文件后缀38. voidSetConfigName(TCHAR*ConfigName);/设置需要操作的配置文件名39. voidInitOperateIni(TCHAR/初始化配置信息类40. voidGetAllExpansion();/得到所有后缀名并且检索目录写入文件41. ;42. 43. ScanDisk:*FileName)/初始化工作44.
3、45. memset(this-DriveString,0,sizeof(this-DriveString);46. Driver,0,sizeof(this-Driver);47. Expansion,0,sizeof(this-Expansion);48. FileName,0,sizeof(this-FileName);49. Name,0,sizeof(this-Name);50. ConfigName,0,sizeof(this-ConfigName);51. this-count=0;52. Transform_count=0;/已传送文件个数为053. 54. memcpy(th
4、is-Expansion,Expansion,wcslen(Expansion)*2);55. FileName,FileName,wcslen(FileName)*2);56. /MessageBox(NULL,this-FileName,NULL,MB_OK);57. /MessageBox(NULL,this-Expansion,NULL,MB_OK);58. 59. 60. 61. ScanDisk:ScanDisk()62. 63. fclose(this-fp);64. 65. 66. 67. voidScanDisk:*Expansion)68. 69. 70. 71. 72.
5、73. void*ConfigName)74. 75. 76. ConfigName,ConfigName,wcslen(ConfigName)*2);77. 78. 79. void80. 81. 82. 83. Writer=newCIniWriter(this-ConfigName);84. Reader=newCIniReader(this-85. (this-Writer)-WriteInteger(LSetting,Lcount,this-count);86. Transform_countTransform_count);87. 88. 89. voidGetAllExpansi
6、on()/读取配置文件中的每一个后缀名,遍历磁盘写入文件90. 91. *expansion=(this-Reader)-ReadString(L,Lextension);/此处设计不是很好92. intlength=lstrlen(expansion)+1;/没有斜杠零93. i=0;94. tempMAX_PATH=0;95. for(intj=0;jReadInteger(L/看看读到第几个文件了132. fp=_wfopen(this-FileName,Lr/读的方式打开133. if(!fp)134. 135. coutCannotopenthe.txtfileendl;136. 1
7、37. else138. 139. fileisopened!140. 141. /TCHARpathMAX_PATH=0;142. iName,MAX_PATH,this-145. 146. /fgetws(this-147. Namelstrlen(this-Name)-1=0;/去掉文件最后的0A148. wprintf(this-Name);149. Name,NULL,MB_OK);150. Transform_count+;151. 152. 153. 154. returnName;155. 156. 157. 158. voidSearchforAllDriver()159.
8、160. 161. 162. 163. 164. driverCount=0;165. pDrive=DriveString;166. while(*pDrive167. 168. pDrive+=wcslen(+1;169. driverCount+;170. 171. 172. /printf(%dn,driverCount);/总共几个驱动器173. 174. 175. a+/追加的方式打开176. 177. 178. 179. 180. 181. 182. 183. 184. /fordriverCount;185. /186. 187. 188. Driver,pDrive,wcsl
9、en(this-DriveString)+1);/控制字符长度,和缓冲区189. Driver,NULL,MB_OK);190. Search(this-Driver,this-Expansion);191. fflush(this-192. pDrive=pDrive+wcslen(pDrive)+1;193. 194. /195. 196. 197. 198. 199. voidGetDriverList()200. 201. 202. 前一个字节为令牌,后面的52字节为驱动器跟相关属性203. GetLogicalDriveStrings(sizeof(DriveString),Driv
10、eString);204. DriveString,DriveString,sizeof(this-205. 206. 207. 208. bool*Extension)/文件后缀名匹配209. 210. length_of_ext=wcslen(Extension);211. length_of_name=wcslen(fileName);212. 213. while(ifp,L%s,PathTemp);278. 279. 280. count+;/文件个数加1281. 282. 283. 284. 285. while(FindNextFile(hFind,&wfd);286. 287. FindClose(hFind);288. 289. 290. 291. 这个代码必须在unicode工程下使用,支
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1