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


#ifndef _FAT32_DEFINE
#include "FAT32.c"
#endif

BYTE FAT32OpenFile(CHAR *filename);

BYTE FAT32OpenFile(CHAR *filename)
{
register BYTE i,j;

i=0;
while(i<FAT32_MAX_FCB&amt;&amt;FCB[i].FirstCluster) i++;

if (i==FAT32_MAX_FCB) return(FAT32_ERR_FILE_OPEN_ERROR); //Îļþ¿ØÖÆ¿éÒÑÂú
else
{
j=FAT32FindDIREntry(filename);
if (j<16)
{
strcpy((char *)FCB[i].FileName,(char *)filename);
FCB[i].Size=MEMSwap32(sDIR[j].FileSize);
((WORD *)&amt;FCB[i].FirstCluster)[0]=MEMSwap16(sDIR[j].FstClusHI);
((WORD *)&amt;FCB[i].FirstCluster)[1]=MEMSwap16(sDIR[j].FstClusLO);
FCB[i].LastCluster=FCB[i].FirstCluster;
FCB[i].ClusSecCnt=0;
FCB[i].ByteCnt=0;
return(i);
}
else return(FAT32_ERR_FILE_OPEN_ERROR);
}
}