關(guān)于建立多級文件夾的疑問。

大家好: 在看例子時遇到一個想不通的地方,為什么要把上級目錄的起始簇號寫到新建目錄的起始簇號中,舉個例子,根目錄下有個目錄\ABC,下面已經(jīng)有一個目錄\01(內(nèi)有文件若干),現(xiàn)在要新建另一個目錄\02,可以把\ABC的起始簇號寫給\02嗎?

部分源碼如下。 …… xWriteCH376Cmd( CMD14_READ_VAR32 ); xWriteCH376Data( VAR_START_CLUSTER ); /* 上級目錄的起始簇號 */ for ( s = 0; s != 4; s ++ ) ClustBuf[ s ] = xReadCH376Data( ); xEndCH376Cmd( ); s = CH376DirCreate( &PathName[Name] ); /* 在當前目錄下新建目錄 */ if ( s != USB_INT_SUCCESS ) return( s ); s = CH376ByteLocate( sizeof(FAT_DIR_INFO) + STRUCT_OFFSET( FAT_DIR_INFO, DIR_FstClusHI ) ); /* 移動文件指針 */ if ( s != USB_INT_SUCCESS ) return( s ); s = CH376ByteWrite( &ClustBuf[2], 2, NULL ); /* 寫入上級目錄的起始簇號的高16位 */

……

這涉及到文件系統(tǒng)的相關(guān)內(nèi)容,創(chuàng)建目錄的時候會為該目錄分配一個簇,在該簇的開頭會分別記錄該目錄的當前簇號以及上級目錄的簇號。


原來如此,我也查了資料: (1) 0--7字節(jié) 文件正名。 (2)8--10字節(jié) 文件擴展名。 (3)11字節(jié) 文件屬性,按二進制位定義,最高兩位保留未用,0至5位分別是只讀位、隱藏位、系統(tǒng)位、卷標位、子目錄位、歸檔位。 (4)11--13字節(jié) 僅長文件名目錄項用,用來存儲其對應的短文件名目錄項的文件名字節(jié)校驗和等。 (5)13--15字節(jié) 24位二進制的文件建立時間,其中的高5位為小時,次6位為分鐘。 (6)16--17字節(jié) 16位二進制的文件建立日期,其中的高7位為相對于1980年的年份值,次4位為月份,后5位為月內(nèi)日期。 (7)18--19字節(jié) 16位二進制的文件最新訪問日期,定義同(6)。 (8)20--21字節(jié) 起始簇號的高16位。 (9)22--23字節(jié) 16位二進制的文件最新修改時間,其中的高5位為小時,次6位為分鐘,后5位的二倍為秒數(shù)。 (10)24--25字節(jié) 16位二進制的文件最新修改日期,定義同(6)。 (11)26--27字節(jié) 起始簇號的低16位。 (12)28--31字節(jié) 32位的文件字節(jié)長度。

看來這(8)、(11)兩項指的是上級目錄的起始簇號。

多謝_study_。


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频