c语言取目录函数 c语言获取当前目录

获取当前目录下所有文件名函数 c语言system("attrib -s -h");// 如果需要显示系统文件和隐藏文件
system("DIR /bfile_list.txt"); // 文件名存入 文件 file_list.txt
/b -- 只取 文件名
C语言函数的目录函数所在函数库为dir.h、dos.h
int chdir(char *path) 使指定的目录path(如:C:\\WPS)变成当前的工作目录,成
功返回0
int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功
返回0
pathname为指定的目录名和文件名,如C:\\WPS\\TXT
ffblk为指定的保存文件信息的一个结构,定义如下:struct ffblk{char ff_reserved[21]; /*DOS保留字*/ char ff_attrib;/*文件属性*/intff_ftime;/*文件时间*/intff_fdate;/*文件日期*/long ff_fsize;/*文件长度*/char ff_name[13];/*文件名*/}attrib为文件属性,由以下字符代表
┃FA_RDONLY 只读文件┃FA_LABEL 卷标号┃
┃FA_HIDDEN 隐藏文件┃FA_DIREC 目录 ┃
┃FA_SYSTEM 系统文件┃FA_ARCH 档案 ┃
例:
struct ffblk ff;
findfirst(*.wps,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
c语言目录操作函数我不知道楼主具体指的是什么?什么叫取得目录中的函数名?是指文件名吗?
如果是的话,看这个程序:
#include
process.h
main()
{
clrscr();
system("dir
e:\\younger");
/*"e:\\younger"可以改成任意目录*/
getch();
}这样可以吗,楼主?
c语言 调用 子目录中文件里的函数一,如果是在window环境下 , 很简单,可以用一下方法:
使用stdlib.h头文件声明的system()函数
_CRTIMP int __cdecl system (const char*);
【c语言取目录函数 c语言获取当前目录】system("dir c:\\ /a:h /bc:\\dir.txt");
调用系统命令dir,把c:目录下文件列表写入文件dir.txt中
二,使用dirent.h头文件中声明的opendir(),readdir()函数
示例代码:
int main(int argc, char *argv[])
{
DIR *directory_pointer;
struct dirent *entry;
if((directory_pointer=opendir("d:\\XL"))==NULL)
printf( "Error opening \n ");
else
{
while((entry=readdir(directory_pointer))!=NULL)
{
printf("%s\n",entry- d_name);
}
closedir(directory_pointer);
}
system("PAUSE");
return 0;
}
三,如果没有dirent.h,可以使用io.h头文件中声明的_findfirst(),_findnext()函数

推荐阅读