finding files with a certain extension
-
I dont know if this code work with but this what I used int i=0; WIN32_FIND_DATA info; HANDLE hp; sprintf(fileFound, "%s\\*.tga", folderPath); hp = FindFirstFile(fileFound, &info); if(hp== INVALID_HANDLE_VALUE) return; do { sprintf(fileFound,"%s\\%s", folderPath, info.cFileName); // DeleteFile(fileFound); i++; }while(FindNextFile(hp, &info)); FindClose(hp); ShowMessage(i);
-
Thanks for your help - but that's not what I need... I need to look for a files that have the same file name each time, but have different extensions. For Example, in my directory there are the files: file.001 file.002 file.x file.y so, I don't need to find the files file.x or file.y. I only need to find the files that have an extension that consists of numbers. The problem is that when I search for files in the format: "file.*", it finds the files named file.x and file.y which I don't need.
-
Thanks for your help - but that's not what I need... I need to look for a files that have the same file name each time, but have different extensions. For Example, in my directory there are the files: file.001 file.002 file.x file.y so, I don't need to find the files file.x or file.y. I only need to find the files that have an extension that consists of numbers. The problem is that when I search for files in the format: "file.*", it finds the files named file.x and file.y which I don't need.
-
ok for(.............etc.) sprintf(fileFound, "%s\\file.00%.1d ",ARRAYOFCONST((folderPath,i)) ); now you can search for ectintions from 001 to 009 -- modified at 9:20 Sunday 16th April, 2006
yes - but I don't know what the maximum number the extension could have. There could be a file named file.9999 for instance.. so I can't search until infinity. That's my problem. Maybe there is a way to check if the extension contains only numbers or something like that. Do you know?
-
yes - but I don't know what the maximum number the extension could have. There could be a file named file.9999 for instance.. so I can't search until infinity. That's my problem. Maybe there is a way to check if the extension contains only numbers or something like that. Do you know?
I dont remember the function name but try this sSearchPath.Format("file.*"); BOOL bWorking = f.FindFile(sSearchPath); int j = 0, i++; while (bWorking) { CString strFileEx = ExtractFileExt(f.GetFileName()); while(strFileEx [j] != '\0' ) { if(!((int)strFileEx [j] >= (int)'0' && (int)strFileEx [j]<='9')) i++; } if(i>0) //do what you want to do bWorking = f.FindNextFile(); } -- modified at 9:57 Sunday 16th April, 2006
-
I dont remember the function name but try this sSearchPath.Format("file.*"); BOOL bWorking = f.FindFile(sSearchPath); int j = 0, i++; while (bWorking) { CString strFileEx = ExtractFileExt(f.GetFileName()); while(strFileEx [j] != '\0' ) { if(!((int)strFileEx [j] >= (int)'0' && (int)strFileEx [j]<='9')) i++; } if(i>0) //do what you want to do bWorking = f.FindNextFile(); } -- modified at 9:57 Sunday 16th April, 2006
-
Hi, I need to find all files in a certain directory that are in the format of: file.001, file.002, etc (the numbers in the file extensions can go up to infinity...). I am using the functions FindFile and FindNextFile to do this (my code is below). The problem is that in the same directory there might also be files named file.x or file.y (for example) which I don't need to find. I only need the files with the number extensions. Is there a way to do this? this is my code: sSearchPath.Format("file.*"); BOOL bWorking = f.FindFile(sSearchPath); while (bWorking) { bWorking = f.FindNextFile(); CString strFileName = f.GetFileName(); } Thanks
what you can do is determine the extension of the file using GetFileName and GetFileTitle. Then for each charcter in extension check if its a digit using isDigit function. If all the characters in extension are digit then keep file else move to next file. -Saurabh
-
Hi, I need to find all files in a certain directory that are in the format of: file.001, file.002, etc (the numbers in the file extensions can go up to infinity...). I am using the functions FindFile and FindNextFile to do this (my code is below). The problem is that in the same directory there might also be files named file.x or file.y (for example) which I don't need to find. I only need the files with the number extensions. Is there a way to do this? this is my code: sSearchPath.Format("file.*"); BOOL bWorking = f.FindFile(sSearchPath); while (bWorking) { bWorking = f.FindNextFile(); CString strFileName = f.GetFileName(); } Thanks
You can use
PathFindExtension()
to get a pointer to the extension part of the filename, and do string comparisons from there.--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | NEW!! PimpFish | CP SearchBar v3.0 | C++ Forum FAQ
-
Thanks for your help - but that's not what I need... I need to look for a files that have the same file name each time, but have different extensions. For Example, in my directory there are the files: file.001 file.002 file.x file.y so, I don't need to find the files file.x or file.y. I only need to find the files that have an extension that consists of numbers. The problem is that when I search for files in the format: "file.*", it finds the files named file.x and file.y which I don't need.
For each file found, including file.x and file.y, simply check the extension to see if it is all digits or not.
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
-
yes - but I don't know what the maximum number the extension could have. There could be a file named file.9999 for instance.. so I can't search until infinity. That's my problem. Maybe there is a way to check if the extension contains only numbers or something like that. Do you know?
SWDevil wrote:
Maybe there is a way to check if the extension contains only numbers or something like that. Do you know?
Yes, it's called
isdigit()
.
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
-
Thanks! But what is the function "ExtractFileExt"? my code doesn't recognise it. do I need an include for it or something?
Why not just use
PathFindExtension()
?
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb