2023年7月3日发(作者:)
C语⾔的常⽤库函数(dos)之四(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/,放在path头⽂件:it()分解完整的路径名函数原形: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(出错)头⽂件:d()读取当前⽬录的函数原形:char *getcwd(char *buf,int buflen)功能:读取当前⽬录的完整路径名(包括驱动器名),最长为buflen个字节,存放在buf中。如果buf为NULL,函数将分配⼀个buflen字节长的缓冲区,以后可将本函数的返回值作为free函数的参数来释放该缓冲区。返回值:若buf⾮空,调⽤成功返回buf,出错返回NULL;若buf为NULL,返回指向已经分配的内存缓冲区地址。头⽂件:sk()读取当前磁盘驱动器号函数原形: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(操作出错)头⽂件:hpath()按dos路径查找⼀个⽂件的函数原形:char *searchpath(const char *file)⽤法:p=searchpath("⽂件名"); 先定义char *p;功能:搜索dos路径(环境变量中的path=....)来定位由file给出的⽂件。返回值:指向完整路径名字符串的指针。定位失败返回NULL。头⽂件:ad()读段寄存器函数原形:void segread(struct SREGS *segp)作⽤:把当前寄存器的值保存到SREGS型机构变量segp中。 =代码段寄存器的值; =数据段寄存器的值; =附加段寄存器的值; =堆栈段寄存器的值;setdisk()设置当前驱动器的函数原形:int setdisk(int drive)功能:把由drive指定的驱动器修改成当前驱动器,返回可使⽤的驱动器数。头⽂件:xtstyle()显⽰字符的当前设置函数功能:设置当前输出英⽂字符的字体、⼤⼩和⽅向。调⽤⽅式: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()。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1688381038a129431.html
评论列表(0条)