www.pudn.com > fat32.c51.rar > FATCHANGEDIRECTORY.C


#ifndef _FAT_DEFINE 
 #include "FAT.c" 
#endif 
 
BYTE FATChangeDirectory(CHAR *DirName); 
 
BYTE FATChangeDirectory(CHAR *DirName) 
{ 
	register DWORD cluster; 
	register BYTE i; 
 
	i=FATFindDIREntry(DirName); 
	printf("find:%bx\n",i); 
	if (i<16&&(sDIR[i].Attr&FAT_ATTR_DIRECTORY))								//找到目录入口 
	{ 
		cluster=(MEMSwap16(sDIR[i].FstClusHI)<<16)|MEMSwap16(sDIR[i].FstClusLO); 
		if (cluster) FAT.CurrentDirectory=cluster; else FAT.CurrentDirectory=FAT.RootClus; 
		return(0); 
	} 
	else if (!(sDIR[i].Attr&FAT_ATTR_DIRECTORY)) return(FAT_ERR_NOT_DIR); 	//目录项不是一个目录入口 
	else return(FAT_ERR_DIR_NOT_FOUND);										//目录入口为找到 
}