为了账号安全,请及时绑定邮箱和手机立即绑定

请教下在windows环境下用VC++6.0,输出指定路径下文件目录;

请教下在windows环境下用VC++6.0,输出指定路径下文件目录;

C
蝴蝶不菲 2023-03-02 17:13:26
例如输入c:\\a\\(a是文件夹,里面有两个分别叫b和c的子文件夹,b里面有一个b.txt,c里面有一个c.txt)执行后输出c:a\\b\\b.txt c:\\a\\c\\c.txt 最好用可编译的实例说明
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

//搜索文件及文件夹 参数(目标文件夹,返回的文件列表)
bool CjjjjDlg::getFolderAndFiles(CString path, CStringArray* filelist )
{
//递归查找文件夹内的所有文件.
CFileFind finder;
CString search="" ;
search.Format("%s\\*.*", path);
BOOL bFind=finder.FindFile(search);
if(!bFind)
{
return false;
}
else 
{
CString pathb;
while(bFind)
{  
bFind=finder.FindNextFile();
if(finder.IsDots())
continue;
pathb=finder.GetFilePath();

if(finder.IsDirectory()) //找到的是目录
{

getFolderAndFiles(pathb,filelist);
continue;
}
else //找到的是文件,则增加到队列
{
filelist->Add(finder.GetFilePath());
}
}
finder.Close();
return true; 
}
}

用法:
CStringArray filelist;
getFolderAndFiles("C:\\Ldmis2005",&filelist);
for(int i=0;i<filelist.GetCount();i++)
{
this->MessageBoxA(filelist.GetAt(i)); 
}

数据在filelist里,可以根据自己想需要使用(这个函数是基于MFC的,纯C下应该不能工作),

 


查看完整回答
反对 回复 2023-03-06
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

我就用简单的方法回答吧。
你说的无非是想把自己的数据写在文件里。学c语言的时候应该知道专门的库函数 fprintf
定义一个文件指针 FILE *p;fprintf(p,"数据类型%d等等","数据");路径按照你的问题来说。c:a\\b\\b.txt 和c:\\a\\c\\c.txt 这两个都行。 当然你怎么写,这要看fopen的打开方式了。你可以查查相关的资料。再就是,初学别上来就要代码,自己写最好。就算十次也通不过,你也长了十次的经验。记忆更深刻,别人写的再好,你光看也不如。当然看优秀的代码也是有必要的,我只是提醒别忘了自己写,练习。

查看完整回答
反对 回复 2023-03-06
  • 2 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信