问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

API中进行文件查找操作时怎么返回上级目录

发布网友 发布时间:2022-04-22 06:27

我来回答

3个回答

热心网友 时间:2023-06-28 02:12

选择窗口 下拉菜单会显示你的操作,想去哪里直接点就可以

热心网友 时间:2023-06-28 02:12

啥意思?能说详细点吗?

热心网友 时间:2023-06-28 02:13

可以利用每个目录中都有的“..”这个“文件”来达到上一层目录。

总之这个时候你只需要从新做FindFirstFile就行了。

写了一个小程序演示这个过程:
#include <windows.h>
void EnumFiles(WIN32_FIND_DATA *data){
if(data->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
printf("在目录中找到了子目录[ %s ].\n",data->cFileName);
}else{
printf("在目录中找到了文件[ %s ].\n",data->cFileName);
}
//printf("filename length : %d\n",strlen(data->cFileName));
}
int main(int argc, char *argv[])
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
BOOL fFindParentFolder;
TCHAR szPath[MAX_PATH] = "../*";
do{
printf("\n\t#正在搜索目录【 %s\b 】 ...\n\n",szPath);
fFindParentFolder = FALSE;
hFind = FindFirstFile(szPath,&FindFileData);
if(hFind == INVALID_HANDLE_VALUE)return -1;
do{
if(strcmp(FindFileData.cFileName,"..") == '\0'){
fFindParentFolder = TRUE;
printf("\n\t#找到了此目录的父目录:\n\n");
}
EnumFiles(&FindFileData);
}while(FindNextFile(hFind,&FindFileData));
if(fFindParentFolder == FALSE){
printf("\n\t#已经到达目录系统的顶端.\n\n");
}else{
memmove(&szPath[3],&szPath[0],strlen(szPath) + 1);
}
}while(fFindParentFolder == TRUE);

return 0;
}

在我这里,我在桌面运行这个程序的输出如下:

#正在搜索目录【 ../ 】 ...

在目录中找到了子目录[ . ].

#找到了此目录的父目录:

在目录中找到了子目录[ .. ].
在目录中找到了文件[ .appcfg_cookies ].
在目录中找到了文件[ .appcfg_nag ].
在目录中找到了子目录[ AppData ].
在目录中找到了子目录[ Application Data ].
在目录中找到了子目录[ Contacts ].
在目录中找到了子目录[ Cookies ].
在目录中找到了子目录[ Desktop ].
在目录中找到了子目录[ Documents ].
在目录中找到了子目录[ Downloads ].
在目录中找到了子目录[ Favorites ].
在目录中找到了子目录[ Links ].
在目录中找到了子目录[ Local Settings ].
在目录中找到了子目录[ Music ].
在目录中找到了子目录[ My Documents ].
在目录中找到了子目录[ NetHood ].
在目录中找到了文件[ NTUSER.DAT ].
在目录中找到了文件[ ntuser.dat.LOG1 ].
在目录中找到了文件[ ntuser.dat.LOG2 ].
在目录中找到了文件[ NTUSER.DAT{6cced2f1-6e01-11de-8bed-001e0bcd1824}.TM.blf ].
在目录中找到了文件[ NTUSER.DAT{6cced2f1-6e01-11de-8bed-001e0bcd1824}.TMContainer00000000000000000001.regtrans-ms ].
在目录中找到了文件[ NTUSER.DAT{6cced2f1-6e01-11de-8bed-001e0bcd1824}.TMContainer00000000000000000002.regtrans-ms ].
在目录中找到了文件[ ntuser.ini ].
在目录中找到了子目录[ Pictures ].
在目录中找到了子目录[ PrintHood ].
在目录中找到了子目录[ Recent ].
在目录中找到了子目录[ Saved Games ].
在目录中找到了子目录[ Searches ].
在目录中找到了子目录[ SendTo ].
在目录中找到了子目录[ Templates ].
在目录中找到了子目录[ Videos ].
在目录中找到了子目录[ 「开始」菜单 ].

#正在搜索目录【 ../../ 】 ...

在目录中找到了子目录[ . ].

#找到了此目录的父目录:

在目录中找到了子目录[ .. ].
在目录中找到了子目录[ All Users ].
在目录中找到了子目录[ bombless ].
在目录中找到了子目录[ Default ].
在目录中找到了子目录[ Default User ].
在目录中找到了文件[ desktop.ini ].
在目录中找到了子目录[ Public ].

#正在搜索目录【 ../../../ 】 ...

在目录中找到了子目录[ $Recycle.Bin ].
在目录中找到了文件[ 4thGameHook.txt ].
在目录中找到了子目录[ ATI ].
在目录中找到了文件[ authres.html ].
在目录中找到了文件[ autoexec.bat ].
在目录中找到了子目录[ Boot ].
在目录中找到了文件[ bootmgr ].
在目录中找到了文件[ BOOTSECT.BAK ].
在目录中找到了文件[ config.sys ].
在目录中找到了子目录[ DEV-CPP ].
在目录中找到了子目录[ Documents and Settings ].
在目录中找到了子目录[ Download ].
在目录中找到了子目录[ Downloads ].
在目录中找到了文件[ grldr ].
在目录中找到了文件[ hiberfil.sys ].
在目录中找到了文件[ IO.SYS ].
在目录中找到了子目录[ KMPlayer ].
在目录中找到了文件[ MSDOS.SYS ].
在目录中找到了文件[ pagefile.sys ].
在目录中找到了子目录[ PerfLog ].
在目录中找到了子目录[ PerfLogs ].
在目录中找到了子目录[ Program Files ].
在目录中找到了子目录[ ProgramData ].
在目录中找到了子目录[ Recovery ].
在目录中找到了子目录[ RECYCLER ].
在目录中找到了子目录[ Ruijie Supplicant ].
在目录中找到了子目录[ System Volume Information ].
在目录中找到了子目录[ Users ].
在目录中找到了子目录[ Windows ].

#已经到达目录系统的顶端.

表明程序应该是运作正常的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
whirlpool如何制热 如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 汽车贷款违约金计算 干锅土豆怎么做好吃 如何封装原版系统? 干锅土豆的做法,干锅土豆怎么做好吃,干锅土豆 贷款违约金怎么算求解 刷机文件Flash_PXA920_eraseAll.blf在哪 MT620的 干锅土豆的做法 贷款160000三年利息50000算不算违法? 干锅土豆的口味? 如何通过人工神经网络实现图像识别 干锅土豆家常做法,正宗干锅土豆怎么做 银行凭身份证就放贷款,算不算违规操作? 求一个3-8-3的BP神经网络Matlab代码,以下是训练数... 去饭店必点的干锅土豆,在家怎么简单做出来呢? 刑法违法发放贷款罪数额怎么算 快手号注销id还在吗 正宗四川干锅土豆做法 用matlab实现BP神经网络,求全部过程,谢谢大神 哪种贷款属于违规贷款? 干锅土豆做法 做干锅土豆怎么做好吃 土豆的做法大全 做干锅土豆怎么做好吃 哪位有《阿道夫希特勒一生—狂人败亡篇 》PDF格式电... 干锅土豆藕片的做法 有关于哆啦A梦动画电影的主题曲都叫什么名字?那里... canoe转excel格式数据 手机流量信号差有什么办法 手机信号满格流量不行怎么办 手机流量信号不好是什么问题 手机网络不好咋办 手机流量不好用怎么办 流量信号不好,是怎么回事 流量卡网速不好怎么办 手机流量不够用怎么办? 流量不好和位置有关吗? “keep on going”什么意思? keep on going什么意思 keep going 还是keep on going? keep on going有继续做某事的意思吗? Keep on going Never give up 是什么意思