您的位置:

c语言dir用法,R语言中dir

本文目录一览:

单片机中的dir是什么意思

单片机语句中的dir意思是设置单片机端口方向的而已。

如果程序是要实现呼吸灯功能,那么位变量DIR则应该是用来表示方向(DIRection)的变量,比如DIR=1时表示呼,DIR=0时表示吸,具体还得程序完整贴出来才能确定。

Linux下C语言编程,跟目录操作相关的有个DIR数据结构,是个结构体的,具体是怎么定义的。求解惑

APUE中大致是这么说的:DIR结构是个内部结构,作用类似于FILE结构,读目录时我们并不关系DIR结构的细节,它只是作为opendir的返回值,以及readdir、rewinddir、closedir、telldir、seekdir的函数的操作对象,读目录是只调用这些函数就行了,就像我们使用FILE结构一样,很少有人关注FILE的定义。另外,只有内核才能写目录。

C语言中的include< dir.h>中的相关函数和作用

chdir()改变当前目录的函数

原形:int chdir(const char *path)

功能:把由path指定的目录改为当前目录。path参数中可以指定驱动器号,如“a:\\ddd”, 但只是改变该驱动器上的当前目录,对当前活动驱动器上的当前目录无影响。

返回值:0(成功);-1(失败)

头文件:dir.h

=======================================================================================

findfirst()函数和findnext()函数

调用方式:整形数=findfirst(文件名,结构变量名,属性常数组合(如0x26));其中定义struct ffblk 结构变量名;

原形:int findfirst(path,buffer,attr)和int findnext(buffer)

char *path;//要检索的文件名

struct ffblk

{

char ff_reserved[21];

char ff_attrib;//被检索的文件属性

unsigned ff_ftime;//最后修改的时间

//(0-4位:秒数/2;5-10位:分数;11-15位:小时数)

unsigned ff_fdate;//最后修改的日期

//(0-4位:日;5-8位:月;9-15位:年减1980)

long ff_fsize;//文件大小

char ff_name[13];//组名

}*buffer;

int attr;//要检索的文件属性

功能:检索由path和attr指定的文件,把结果返回到buffer。findfirst返回关于第一个指定文件的信息,findnext继续检索。

返回值:0(检索成功),-1(没有找到指定的文件)

属性常数:

FA_NORMAL(0x00) 含意:Normal file, no attributes

FA_RDONLY(0x01) 含意:只读

FA_HIDDEN(0x02) 含意:隐含文件

FA_SYSTEM(0x04) 含意:系统文件

FA_LABEL(0x08) 含意:卷标

FA_DIREC(0x10) 含意:子目录

FA_ARCH(0x20) 含意:修改的文件Archive

头文件:dir.h(dos.h)

====================================================================================

fnmerge()建立文件路径函数

原形:void fnmerge(char *path,const char *drive,const char *dir, const char *name,const char *ext)

功能:合成drive:\dir\name.ext,放在path

头文件:dir.h

fnsplit()分解完整的路径名函数

原形:int fnsplit(char *path,const char *drive,const char *dir,const char *name,const char *ext)

功能:把文件名路径path分成4个部分存放。

其中drive中有冒号;dir中有开始和结尾的反斜杠;ext包括开始圆点

返回值:如果有扩展名,则 返回值EXTENSION!=0

如果有文件名,则 返回值FILENAME!=0

如果有目录名,则 返回值DIRECTORY!=0

如果有驱动器号,则返回值DIRVE!=0

头文件:dir.h

====================================================================================

getcurdir()读取指定驱动器的当前目录的函数

原形:int getcurdir(int drive,char directory)

drive=0(缺省);1(A驱动器);...

directory用来存放目录名,不包括驱动器名,不以反斜杠开始。

返回值:0(调用成功);1(出错)

头文件:dir.h

getcwd()读取当前目录的函数

原形:char *getcwd(char *buf,int buflen)

功能:读取当前目录的完整路径名(包括驱动器名),最长为buflen个字节,存放在buf中。如果buf为NULL,函数将分配一个buflen字节长的缓冲区,以后可将本函数的返回值作为free函数的参数来释放该缓冲区。

返回值:若buf非空,调用成功返回buf,出错返回NULL;若buf为NULL,返回指向已经分配的内存缓冲区地址。

头文件:dir.h

getdisk()读取当前磁盘驱动器号函数

原形:int getdisk(void)

功能:取得当前驱动器号(0=A;1=B;....)

头文件:dir.h

======================================================================================

mkdir()创建目录函数

原形:int mkdir(const char *path)

功能:按给定的路径建立一个新的目录

头文件:dir.h

返回值:0(成功);-1(失败)

mktemp()建立一个唯一的文件名的函数

原形:char *mktemp(char *template)

功能:使用一个唯一的文件名来替换字符串template,并返回template。

头文件:dir.h

======================================================================================

rmdir()删除目录函数

原形:int rmdir(const char *path)

注意:删除的目录不能是当前目录,不是根目录,是空目录

返回值:0(成功);-1(操作出错)

头文件:dir.h

searchpath()按dos路径查找一个文件的函数

原形:char *searchpath(const char *file)

用法:p=searchpath("文件名"); 先定义char *p;

功能:搜索dos路径(环境变量中的path=....)来定位由file给出的文件。

返回值:指向完整路径名字符串的指针。定位失败返回NULL。

头文件:dir.h

segread()读段寄存器函数

原形:void segread(struct SREGS *segp)

作用:把当前寄存器的值保存到SREGS型机构变量segp中。

segs.cs=代码段寄存器的值;

segs.ds=数据段寄存器的值;

segs.es=附加段寄存器的值;

segs.ss=堆栈段寄存器的值;

setdisk()设置当前驱动器的函数

原形:int setdisk(int drive)

功能:把由drive指定的驱动器修改成当前驱动器,返回可使用的驱动器数。

头文件:dir.h

settextstyle()显示字符的当前设置函数

功能:设置当前输出英文字符的字体、大小和方向。

调用方式:

void far settextstyle(int font,int direction,int charsize)

其中①参数font确定所选定的字体形状,

DEFAULT_FONT 或0 是8×8位图字体

TRIPLEX_FONT 或1 是三重矢量字体

SMALL_FONT 或2 是小号矢量字体

SANS_SERIF_FONT或3 是无衬线矢量字体

GOTHIC_FONT 或4 是哥特矢量字体

②参数durection字符的显示方向,

HORIZ_DIR 或0 是水平方向

VERT_DIR 或1 是垂直方向

③参数charsize表示字符放大的倍数,其值为0到10。

setvect()设置中断向量函数

setvect(int 中断号,void interrupt(*中断函数名))

功能:把中断服务程序的地址装入中断向量表中。

调用方法:setvect(中断号,中断函数名即地址);

(1)得预先定义要代替原函数的新函数

void interrupt 中断函数名(void)

{......}

(2)得先保留原中断函数地址

void interrupt (*保留函数名)(void);

保留函数名=getvect(中断号);

(3)事后得将原中断函数地址装回向量表中

setvect(中断号,保留函数名);

setviewport()建立视口的函数

原形: void far setviewport(int left,int top,int right,int bottom,int clip)

功能:用左上角坐标left,top和右下角坐标right,bottom建立一个视口,如果clip为1,则超出视口的输出自动被剪裁掉;如果clip为0,则不被剪裁。

例:setviewport(0,0,100,100,1)建立对角线为0,0和100,100的视口,并带有剪裁功能。

注:要清除当前视口,用函数clearnviewport()。

怎样使用C语言列出某个目录下的文件?

用C语言列出目录下的文件,在linux下可采用readdir()函数来实现,代码实现过程为:

打开目录

循环读目录,输出目录下文件

关闭目录指针

参考代码:

#include dirent.h

#include stdio.h

int main()

{

    DIR *dirp; 

    struct dirent *dp;

    dirp = opendir("."); //打开目录指针

    while ((dp = readdir(dirp)) != NULL) { //通过目录指针读目录

        printf("%s\n", dp-d_name );

    }      

    (void) closedir(dirp); //关闭目录

    return 0;

}

在windows下,代码如下:

#include io.h

#include stdio.h

void printDir( const char* path )

{

    struct _finddata_t data;

    long hnd = _findfirst( path, data );    // 查找文件名与正则表达式chRE的匹配第一个文件

    if ( hnd  0 )

    {

        perror( path );

    }

    int  nRet = (hnd 0 ) ? -1 : 1;

    while ( nRet = 0 )

    {

        if ( data.attrib == _A_SUBDIR )  // 如果是目录

            printf("   [%s]*\n", data.name );

        else

            printf("   [%s]\n", data.name );

        nRet = _findnext( hnd, data );

    }

    _findclose( hnd );     // 关闭当前句柄

}

void main()

{

printDir("d:/*.*");

}

相关函数说明:

long _findfirst( char *filespec, struct _finddata_t *fileinfo );  

// 功  能 : 提供与filespec指定入口泛式匹配的第一个文件.通常后继用_findnext()函数来完成某泛式下的文件遍历.  

// 头文件 : #include io.h  

// 参  数 : filespec - 目标文件规范,可以包含通配符  

//          fileinfo - 文件信息buffer  

// 返回值 : 成功返回唯一的搜索句柄  

//          出错返回-1,且设置errno为如下值:  

//          ENOENT 该泛式无法匹配  

//          EINVAL 无效文件名  

int _findnext( long handle, struct _finddata_t *fileinfo );  

// 功  能 : 按照前面_findfirst中的泛式规则,查找下一个符合该泛式的文件,并以此为依据修改fileinfo中的值  

// 头文件 : #include io.h  

// 参  数 : long handle - 搜索句柄(通常由紧靠其前的_findfirst()返回)  

//          fileinfo    - 文件信息buffer  

// 返回值 : 成功返回0  

//          出错返回-1

int _findclose( long handle );  

// 功  能 : 关闭搜寻句柄并释放相应资源  

// 头文件 : #include io.h  

// 参  数 : long handle - 搜索句柄(通常由紧靠其前的_findfirst()返回)  

// 返回值 : 成功返回0  

//          出错返回-1

如何用c语言实现DIR 并转向到一个文件,再打开文件读出一个一个文件名。并写入文本文件?

使用system("dos命令")操作,如

system("d: nul"); /* 转换到d盘 */

system("cd data nul"); /* 转换到子目录data */

system("dir /o:d d:\\mulu.txt"); /* 将d:\data目录下的文件名输出到d盘的mulu.txt文件中 */

c语言 中DIR类型

C语言中的数据类型简单的分为两类,一类是内置数据类型,比如int、float

;一类是用户自定义类型,比如结构体、联合体、位域等。

默认的数据类型中没有DIR类型,因此应该是一种用户自定义类型,可以在源代码中查找相关的类型定义。