ورود

View Full Version : مبتدی: تابع Findnextfile



vasilopita
سه شنبه 18 بهمن 1390, 14:54 عصر
سلام دوستان. من یه مقدار مبتدی تشریف دارم لطفا به سوالم خرده نگیرید :خجالت:

من می خوام تو این تابع اگه یه فولدر رو پیدا کرد اونو باز کنه و جستجو رو دوباره از انوجا شروع کنه.
خواستم اسم فولدر پیدا شده رو الحاق کنم با پارامتر اول تابع findfirstfile اما دیدم ثابت رشته ای و نمی تونم این کار و انجام بدم. لطفا راهنماییم کنید

ASGGSA
شنبه 06 اسفند 1390, 02:52 صبح
سلام دوستان. من یه مقدار مبتدی تشریف دارم لطفا به سوالم خرده نگیرید :خجالت:

من می خوام تو این تابع اگه یه فولدر رو پیدا کرد اونو باز کنه و جستجو رو دوباره از انوجا شروع کنه.
خواستم اسم فولدر پیدا شده رو الحاق کنم با پارامتر اول تابع findfirstfile اما دیدم ثابت رشته ای و نمی تونم این کار و انجام بدم. لطفا راهنماییم کنید
سلام.
فکر کنم مثال MSDN بدردتون بخوره چون تمام فولدرهای موجود در یک درایو رو برای شما نمایش میده و داخل تمام فولدرها جستوجو میکنه و فولدرهای بعدی رو پیدا میکنه.


void Recurse(LPCTSTR pstr){ CFileFind finder; // build a string with wildcards CString strWildcard(pstr); strWildcard += _T("\\*.*"); // start working for files BOOL bWorking = finder.FindFile(strWildcard); while (bWorking) { bWorking = finder.FindNextFile(); // skip . and .. files; otherwise, we'd // recur infinitely! if (finder.IsDots()) continue; // if it's a directory, recursively search it if (finder.IsDirectory()) { CString str = finder.GetFilePath(); TRACE(_T("%s\n"), (LPCTSTR)str); Recurse(str); } } finder.Close();}void PrintDirs(){ Recurse(_T("C:"));}