I have been going over this code for a day now with no prevail...
Run this code, it says that there is less files in C:\WINNT\ than there really is. WHY!?!?
Please help!
August.
Code:#define _WIN32_WINNT 0x0501 #include <windows.h> #include <string.h> #include <stdio.h> #include <tchar.h> int FindFilesNow(HWND,char[],bool); int FindFilesNow_(bool,char[]); int end(int i) { return i; } int count_ion = 0; int FindFilesNow_(bool isFile, char fileName[]) { count_ion++; return 0; } char title[] = "dhhg"; int main(int argc, char *argv[]) { FindFilesNow(0,"C:\\WINNT\\",false); return 0; } int FindFilesNow(HWND hwnd, char path[], bool DisplayErrors) { WIN32_FIND_DATA FindFileData; HANDLE hFind = INVALID_HANDLE_VALUE; DWORD dwError; char DirSpec[MAX_PATH + 1]; // directory specification strcpy (DirSpec, path); strcat (DirSpec, "\\*"); hFind = FindFirstFile(DirSpec, &FindFileData); if (hFind == INVALID_HANDLE_VALUE) { if(DisplayErrors == true){ char cab[MAX_PATH + 1]; wsprintf(cab,"Invalid file handle. Error is %u\n",GetLastError()); MessageBox(hwnd,cab,title,MB_OK|MB_ICONERROR); } return end(-1); } else { int i; for(i = 0; DirSpec[i] != '\0'; i++){ if(DirSpec[i] == '*'){ DirSpec[i] = '\\' + 0; } } printf(DirSpec); char source[1000]; lstrcpy(source,DirSpec); char tempVar1[MAX_PATH]; DWORD dwAttrs = 0; lstrcpy(tempVar1,source); lstrcat(tempVar1,FindFileData.cFileName); lstrcat(tempVar1,"\\"); if(rename(tempVar1,tempVar1) == 0) { FindFilesNow_(false,tempVar1); FindFilesNow(hwnd,tempVar1,DisplayErrors); } else { FindFilesNow_(true,tempVar1); } while (FindNextFile(hFind, &FindFileData) != 0) { lstrcpy(tempVar1,source); lstrcat(tempVar1,FindFileData.cFileName); lstrcat(tempVar1,"\\"); if(rename(tempVar1,tempVar1) == 0) { FindFilesNow_(false,tempVar1); FindFilesNow(hwnd,tempVar1,DisplayErrors); } else { FindFilesNow_(true,tempVar1); } } dwError = GetLastError(); FindClose(hFind); if (dwError != ERROR_NO_MORE_FILES) { if(DisplayErrors == true){ char cab[MAX_PATH + 1]; wsprintf(cab,"FindNextFile error. Error is %u\n",dwError); MessageBox(hwnd,cab,title,MB_OK|MB_ICONERROR); } return end(-1); } } printf("\n\n\nNumber of files in C:\\WINNT\\: %d",count_ion); return end(0); }



LinkBack URL
About LinkBacks


