本帖最后由 studycpp 于 2011-11-1 21:44 编辑
- #include "include.h"
- #include "Action.h"
- #define BUFFERSIZE 4096
- #define REWRITECOUNT 2//重写文件次数
- BOOL CleanAFile (LPCTSTR strFileName)
- {
- BYTE theBuffer[BUFFERSIZE];
- DWORD sizeLow,sizeHigh,writePos=0;
- DWORD nWrite;
- INT rewriteCount=0;
- SetFileAttributes (strFileName, FILE_ATTRIBUTE_NORMAL) ;
- BOOL bret = FALSE ;
- HANDLE hfile = CreateFile (strFileName,
- GENERIC_WRITE,
- FILE_SHARE_READ,
- NULL,
- CREATE_ALWAYS,
- FILE_ATTRIBUTE_NORMAL,
- NULL) ;
- if (hfile == INVALID_HANDLE_VALUE) return bret;
- DWORD sizeLow=GetFileSize(hfile,&sizeHigh);
- if (INVALID_FILE_SIZE==sizeHigh)
-
- {
- CloseHandle (hfile) ;
- return bret;
- }
- /*srand((int)time(0));*/
- memset(theBuffer,0x5A,BUFFERSIZE);
- for(rewriteCount=0;rewriteCount <REWRITECOUNT;rewriteCount++)
- {
- //for(i=0;i <sizeLow;i++)//Buffer数组内容随机产生
- //{
- // theBuffer[i]=rand()%255;
- //}
- SetFilePointer(hfile,0,NULL,FILE_BEGIN);
- if (sizeLow<BUFFERSIZE)
- {
- ::WriteFile (hfile, theBuffer, sizeLow, &nWrite, NULL) ;
- }else
- {
- while (writePos<sizeLow)
- {
- ::WriteFile (hfile, theBuffer, BUFFERSIZE, &nWrite, NULL) ;
- writePos+=BUFFERSIZE;
- SetFilePointer(hfile,writePos,NULL,FILE_BEGIN);
- }
- }
- }
- CloseHandle (hfile) ;
- return TRUE ;
- }
复制代码 这段代码,可以让你很受伤,hold 不住 |