int   absread(int drive,int nsects,int sectno,void *buffer)本函数功能为读特定的       磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要读的扇区数,sectno为开始的逻       辑扇区号,buffer为保存所读数据的保存空间int   abswrite(int drive,int nsects,int sectno,void *buffer)本函数功能为写特定的       磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要写的扇区数,sectno为开始的逻       辑扇区号,buffer为保存所写数据的所在空间void  getdfree(int drive,struct dfree *dfreep)本函数用来取磁盘的自由空间,       drive为磁盘号(0=当前,1=A等).函数将磁盘特性的由dfreep指向的dfree结构中.       dfree结构如下:       ┌───────────────────┐       │struct dfree                          │       │{                                     │       │ unsigned df_avail; /*有用簇个数*/    │       │ unsigned df_total; /*总共簇个数*/    │       │ unsigned df_bsec;  /*每个扇区字节数*/│       │ unsigned df_sclus; /*每个簇扇区数*/  │       │}                                     │       └───────────────────┘char far *getdta()             取磁盘转换地址DTAvoid      setdta(char far *dta)设置磁盘转换地址DTAvoid  getfat(int drive,fatinfo *fatblkp)       本函数返回指定驱动器drive(0=当前,1=A,2=B等)的文件分配表信息       并存入结构fatblkp中,结构如下:       ┌──────────────────┐       │struct fatinfo                      │       │{                                   │       │ char fi_sclus; /*每个簇扇区数*/    │       │ char fi_fatid; /*文件分配表字节数*/│       │ int  fi_nclus; /*簇的数目*/        │       │ int  fi_bysec; /*每个扇区字节数*/  │       │}                                   │       └──────────────────┘void  getfatd(struct fatinfo *fatblkp) 本函数返回当前驱动器的文件分配表信息,       并存入结构fatblkp中,结构如下:                  ┌──────────────────┐       │struct fatinfo                      │       │{                                   │       │ char fi_sclus; /*每个簇扇区数*/    │       │ char fi_fatid; /*文件分配表字节数*/│       │ int  fi_nclus; /*簇的数目*/        │       │ int  fi_bysec; /*每个扇区字节数*/  │       │}                                   │       └──────────────────┘

解决方案 »

  1.   

    谢谢楼上的!可能是我没说清楚,我的意思是我创建了新文件a,现在我想把磁盘(分区)上的某一块(或几块)block的内容赋给a,但是不通过拷贝,即通过改文件a的元信息(如果还有其它途径的话),因为创建文件时文件系统首先创建的是文件的元信息,这些信息里面包括了文件在文件系统(或磁盘)中的位置还有文件大小等等很多东西(这些信息可以用_stat()得到),那我们能不能修改这些元信息中的关于文件磁盘位置的信息,并使他指向我们指定的位置?这样的效果是刚创建的空文件,通过修改其元信息,使到它获取了内容。这样的操作感觉就像在内存中,改变指针p使它指向内存的某个位置,而不是把内存的某个位置的内容拷贝到指针p当前的位置。不知有没有这样的办法?
      

  2.   

    在windows系统中没有你要的这种文件类型,不过你这样说好像是在创建“快捷方式”