目录遍历
vc下面怎么实现目录遍历的?
我只要C++的实现方法,不要SDK的,
谢了,
问题点数:100、回复次数:10Top
1 楼tolixiaohui()回复于 2003-12-01 17:54:33 得分 0
不都一样?
findfirst
FindFirstTop
2 楼Elfxx(阿银)回复于 2003-12-01 17:57:33 得分 0
给个例子,Top
3 楼arfi()回复于 2003-12-01 18:04:27 得分 10
函数名: findfirst, findnext
功 能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件
用 法: int findfirst(char *pathname, struct ffblk *ffblk, int attrib);
int findnext(struct ffblk *ffblk);
程序例:
/* findnext example */
#include <stdio.h>
#include <dir.h>
int main(void)
{
struct ffblk ffblk;
int done;
printf("Directory listing of *.*\n");
done = findfirst("*.*",&ffblk,0);
while (!done)
{
printf(" %s\n", ffblk.ff_name);
done = findnext(&ffblk);
}
return 0;
}
Top
4 楼Elfxx(阿银)回复于 2003-12-01 18:10:37 得分 0
vc 下没有dir.h,要有就不要问了,Top
5 楼arfi()回复于 2003-12-02 09:19:41 得分 0
它有direct.hTop
6 楼ningzhiyu(凝滞雨)回复于 2003-12-02 09:44:32 得分 20
WIN32_FIND_DATA FindFileData;
FindFirstFile(…,…);
FindNextFile(…,…)
vc6的,楼主查一下msdnTop
7 楼ningzhiyu(凝滞雨)回复于 2003-12-02 09:58:44 得分 20
我当时用dialog写了一个历遍指定目录下的目录和文件小程序
(把目录以及文件写到一个文件去)。
楼主如果要,可以留下email。(我看见了就回)
不过楼主要有心理准备,写得稀烂的……没有注释,现在自己看都麻烦,郁闷Top
8 楼arfi()回复于 2003-12-02 15:43:41 得分 50
#include <stdio.h>
#include <io.h>
int main(void)
{
long hFile;
struct _finddata_t filedata;
hFile=_findfirst("*.c", &filedata);
printf("%s\n", filedata.name);
while(!_findnext(hFile,&filedata))
printf("%s\n", filedata.name);
return 0;
}Top
9 楼Elfxx(阿银)回复于 2003-12-03 12:40:39 得分 0
我搞好了,但要指出的是,在用_findfirst()之前最好用一下stat,msdn真不好用,费劲,要有man就好了Top
10 楼Elfxx(阿银)回复于 2003-12-03 12:43:55 得分 0
没有得分的是因为说话太傲了,不爽:)
Top




