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

例如输入c:\\a\\(a是文件夹,里面有两个分别叫b和c的子文件夹,b里面有一个b.txt,c里面有一个c.txt)执行后输出c:a\\b\\b.txtc:\\a\\c... 例如输入c:\\a\\(a是文件夹,里面有两个分别叫b和c的子文件夹,b里面有一个b.txt,c里面有一个c.txt)执行后输出c:a\\b\\b.txt c:\\a\\c\\c.txt 最好用可编译的实例说明 展开
 我来答
盐水肉西瓜
2010-12-17 · TA获得超过210个赞
知道小有建树答主
回答量:217
采纳率:0%
帮助的人:230万
展开全部
很久没搞过纯C的东西了...如果在VC6环境下,可以试试下面这个函数
(用纯C实现也是这个思路,只不过用的数据结构不同)

//搜索文件及文件夹 参数(目标文件夹,返回的文件列表)
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下应该不能工作),
另:以后过了12点最好不要发求助消息,本来已经躺下了...
labikkkk
2010-12-18 · TA获得超过383个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:199万
展开全部
上楼说的有些难了,对于这位朋友和兄弟我来说,mfc还没到那。我就用简单的方法回答吧。
你说的无非是想把自己的数据写在文件里。学c语言的时候应该知道专门的库函数 fprintf
定义一个文件指针 FILE *p;fprintf(p,"数据类型%d等等","数据");路径按照你的问题来说。c:a\\b\\b.txt 和c:\\a\\c\\c.txt 这两个都行。 当然你怎么写,这要看fopen的打开方式了。你可以查查相关的资料。再就是,初学别上来就要代码,自己写最好。就算十次也通不过,你也长了十次的经验。记忆更深刻,别人写的再好,你光看也不如。当然看优秀的代码也是有必要的,我只是提醒别忘了自己写,练习。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张飞online
2015-10-19 · TA获得超过483个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:149万
展开全部

见图

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
353637569
2010-12-18
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
在《C语言程序设计》一书的文件部分你可以参考一下,那里有你想要的答案!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式