24小时热门版块排行榜    

查看: 1551  |  回复: 3

orcimbalance

木虫 (著名写手)

[求助] 如何访问文件夹底下文件名没有规则的文件!

C语言如何访问文件夹底下文件名没有规律的文件?有什么函数实现吗?本人论文新手加C语言菜鸟!只能悬赏一分,望谅解!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

imyourkobe

铁杆木虫 (著名写手)

xzhdty: , 欢迎常来程序语言看看 2012-03-17 19:46:07
根据后缀遍历文件,一个个访问吧。
2楼2012-03-17 18:15:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sharkyurui1

金虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
直接用WIN32 API遍历文件夹下所有文件就行了,详见http://apps.hi.baidu.com/share/detail/30522914
3楼2012-03-20 10:39:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
orcimbalance: 金币+1, ★★★★★最佳答案 2012-06-19 19:45:00
帮你找了两个直接的资料

第一个资料:http://topic.csdn.net/t/20060225/18/4577243.html
在C中,使用findfirst和findnext两个函数就可以遍历目录了,例如:
CODE:
struct   ffblk   FFileStru;
int   iValue;
iValue   =   findfirst( "c:\test\*.* ",   FFileStru,   0);           //0表示寻找所有文件和目录
while(iValue)
{
                ...........             //这里是处理语句,有关文件的信息保存在结构变量FFileStru里
                iValue   =   findnext(FFileStru);
}

findfirst的第三个参数可以具有下列值:
CODE:
#define   FA_RDONLY        0x01         /*   Read   only   attribute   */
#define   FA_HIDDEN        0x02         /*   Hidden   file   */
#define   FA_SYSTEM        0x04         /*   System   file   */
#define   FA_LABEL        0x08         /*   Volume   label   */
#define   FA_DIREC        0x10         /*   Directory   */
#define   FA_ARCH        0x20         /*   Archive   */

遍历一个文件夹可以仿照以上代码写个递归就OK了。

第二个资料:http://hi.baidu.com/tjkvvv/blog/item/8e848e3ed139bcfb828b130e.html

c语言目录操作- 这里给你提供一些C的目录操作函数,原型声明所在头文件为dir.h、dos.h,仅供参考:
CODE:
int chdir(char *path) 使指定的目录path(如:"C:\\WINDOWS")变成当前的工作目录,成功返回0
int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功返回0
pathname为指定的目录名和文件名,如"C:\\WINDOWS\\TXT"

ffblk为指定的保存文件信息的一个结构,定义如下:
CODE:
struct ffblk
{
char ff_reserved[21]; /*DOS保留字*/
char ff_attrib; /*文件属性*/
int ff_ftime; /*文件时间*/
int ff_fdate; /*文件日期*/
long ff_fsize; /*文件长度*/
char ff_name[13]; /*文件名*/
}

attrib为文件属性,由以下字符代表

FA_RDONLY 只读文件, FA_LABEL 卷标号
FA_HIDDEN 隐藏文件, FA_DIREC 目录
FA_SYSTEM 系统文件, FA_ARCH 档案

例:
CODE:
struct ffblk ff;
findfirst("*.DOC",&ff,FA_RDONLY);
int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0
void fumerge(char *path,char *drive,char *dir,char *name,char *ext)
此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名,存在path中.
int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)
此函数将文件名path分解成盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中.

int getcurdir(int drive,char *direc) 此函数返回指定驱动器的当前工作目录名称
drive 指定的驱动器(0=当前,1=A,2=B,3=C等)
direc 保存指定驱动器当前工作路径的变量 成功返回0
char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字节长为为止.错误返回NULL
int getdisk() 取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C等)
int setdisk(int drive) 设置要使用的驱动器drive(0=A,1=B,2=C等),返回可使用驱动器总数
int mkdir(char *pathname) 建立一个新的目录pathname,成功返回0
int rmdir(char *pathname) 删除一个目录pathname,成功返回0
char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中.
char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路径,此函数使用DOS的PATH变量,未找到文件返回NULL.

很女子很弓虽大
4楼2012-03-20 16:36:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 orcimbalance 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 40ms4Wlo4umh 2026-09-14 4/200 2026-09-16 06:27 by LH5NkK5Ud4bh
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 23jxep3nCNZb 2026-09-14 3/150 2026-09-16 06:24 by LH5NkK5Ud4bh
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-16 05:15 by LH5NkK5Ud4bh
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-16 04:23 by DgNGHc3h5tPl
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 s3fFTmArrBt6 2026-09-13 5/250 2026-09-16 03:59 by DgNGHc3h5tPl
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 s3fFTmArrBt6 2026-09-13 6/300 2026-09-16 03:50 by DgNGHc3h5tPl
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 3n8v2C8RimXI 2026-09-13 5/250 2026-09-16 02:50 by DgNGHc3h5tPl
[找工作] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 3n8v2C8RimXI 2026-09-13 3/150 2026-09-16 02:38 by DgNGHc3h5tPl
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 Aj1rhIDL5ixY 2026-09-14 3/150 2026-09-15 20:14 by zNcEhTcH7ihq
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 s3fFTmArrBt6 2026-09-14 5/250 2026-09-15 16:59 by CgyNCDVNhGVg
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 s3fFTmArrBt6 2026-09-14 7/350 2026-09-15 16:47 by CgyNCDVNhGVg
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 s3fFTmArrBt6 2026-09-14 5/250 2026-09-15 16:35 by CgyNCDVNhGVg
[找工作] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +6 3n8v2C8RimXI 2026-09-13 6/300 2026-09-15 15:02 by CgyNCDVNhGVg
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 3n8v2C8RimXI 2026-09-13 5/250 2026-09-15 14:58 by CgyNCDVNhGVg
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +6 QUjhNVAcOSff 2026-09-13 7/350 2026-09-15 14:22 by VMDqgnlKimtZ
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +7 QUjhNVAcOSff 2026-09-13 9/450 2026-09-15 14:10 by VMDqgnlKimtZ
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 23jxep3nCNZb 2026-09-14 3/150 2026-09-15 09:38 by VMDqgnlKimtZ
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +6 3n8v2C8RimXI 2026-09-13 6/300 2026-09-15 05:38 by 5BDX0d0WFp7t
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:13 by Aj1rhIDL5ixY
[考博] 27秋季材料博士申请求助 10+3 Cahal1 2026-09-11 4/200 2026-09-14 08:50 by 北京莱茵编辑
信息提示
请填处理意见