求助?。。。「魑淮笪r??!374長(zhǎng)文件名~~~~

請(qǐng)教\CH374\CH374LIB\MCS51\LIB6\EXAM11中的mCmdParam.WriteB.mLbaStart~~~我找了老半天都沒(méi)有找到mCmdParam.WriteB這個(gè)結(jié)構(gòu)體~~~~~請(qǐng)問(wèn)是在那個(gè)頭文件里面??????[Emot]27[/Emot][Emot]28[/Emot][Emot]6[/Emot]


熱門產(chǎn)品 : USB3.0 HUB控制器:CH634

在頭文件當(dāng)中CMD_PARAM結(jié)構(gòu)體當(dāng)中添加一個(gè)WriteB結(jié)構(gòu)


我添加了,調(diào)試了~~~~不過(guò)這個(gè)例子到底是用來(lái)做什么的呢???感覺(jué)是用來(lái)分析長(zhǎng)文件名的或者短文件名生成長(zhǎng)文件名的????比如我要?jiǎng)?chuàng)建長(zhǎng)文件名(123456789abcdefg.txt),怎么辦????有例子嗎???


這個(gè)例程就是用來(lái)創(chuàng)建長(zhǎng)文件名文件的,創(chuàng)建長(zhǎng)文件名需要先把長(zhǎng)文件名轉(zhuǎn)換成UNICODE編碼,并為該長(zhǎng)文件名分配一個(gè)短文件名,所謂的長(zhǎng)文件名底層都是對(duì)應(yīng)一個(gè)短文件名,然后就調(diào)用CH374CreateLongName( ),


請(qǐng)教其中的 extern UINT8 CH374WriteBlock( void )函數(shù)在那里???似乎我找了CH374HF6.H和PARA.h文件都沒(méi)有啊???還是名字不同???我用的是模擬并口~~~~~~~~~~~~~~~~~~~我都試了一下,不是說(shuō)參數(shù)不對(duì),就是說(shuō)應(yīng)用不對(duì)???這個(gè)函數(shù)是庫(kù)里面的???還是要自己寫?????可否提供下代碼或者應(yīng)用代碼嚇~~~~謝謝大蝦[Emot]27[/Emot][Emot]19[/Emot][Emot]2[/Emot]


WriteB結(jié)構(gòu)里面有多少項(xiàng)啊???

CH374CreateLongName( )這個(gè)函數(shù)的作用是什么???如果創(chuàng)建一個(gè)長(zhǎng)的文件名文件夾那么首先不是把長(zhǎng)文件名輸入???然后再生成undicode碼??然后再生成短文件名???嗎??

==================== 以下演示創(chuàng)建及讀取長(zhǎng)文件名 ============================*/ // 復(fù)制長(zhǎng)文件名(UNICODE 大端)到LongNameBuf里 memcpy( LongNameBuf, LongName, sizeof(LongName) ); printf( "LongNameBuf 1: %s\n", LongNameBuf ); // 末尾用兩個(gè)0表示結(jié)束 LongNameBuf[sizeof(LongName)] = 0x00; LongNameBuf[sizeof(LongName) + 1] = 0x00; printf( "LongNameBuf 2: %s\n", LongNameBuf ); //for(i=0;i //{printf( "LongNameBuf: %02x\n", LongNameBuf[i] );} // 該長(zhǎng)文件名的ANSI編碼短文件名(8+3格式) //strcpy( mCmdParam.Create.mPathName, "\\C51\\AA\\長(zhǎng)文件名.TXT" ); strcpy( mCmdParam.Create.mPathName, "\\C51\\AA\\長(zhǎng)文件名.TXT" ); printf( "Created Long Name :%s\n",mCmdParam.Create.mPathName ); i = CH374CreateLongName( ); ================================= 主函數(shù)一開(kāi)始就copy填充 LongNameBuf是什么意思???不是要等我 strcpy( mCmdParam.Create.mPathName, "\\C51\\AA\\長(zhǎng)文件名.TXT" );之后才把我輸入 的長(zhǎng)文件名送去LongName編碼然后再填充嗎???~~~~~~~~~~~高手解答?。。。?!

[Emot]19[/Emot][Emot]20[/Emot][Emot]11[/Emot]


怎么沒(méi)人?????高手 _study_ { M },紅桃6來(lái)啊~~~help!!!help!!help!!


025-52638359找冉工,或者rgw@wch.cn 冉工是文件系統(tǒng)高手,擅長(zhǎng)長(zhǎng)文件名


頭文件的定義你按照下面的方式把你的頭文件給修改掉: /* 外部命令參數(shù) */ typedef union _CMD_PARAM { struct { UINT8 mBuffer[ MAX_PATH_LEN ]; } Other; struct { UINT32 mReserved; UINT32 mTotalSector; /* 返回: 當(dāng)前邏輯盤的總扇區(qū)數(shù) */ UINT32 mFreeSector; /* 返回: 當(dāng)前邏輯盤的剩余扇區(qū)數(shù) */ UINT8 mDiskFat; /* 返回: 當(dāng)前邏輯盤的FAT類型 */ } Query; /* CMD_DiskQuery, 查詢磁盤信息 */ struct { UINT8 mPathName[ MAX_PATH_LEN ]; /* 輸入?yún)?shù): 路徑: [盤符,冒號(hào),斜杠,目錄名或者文件名及擴(kuò)展名...,結(jié)束符00H], 其中盤符和冒號(hào)可以省略, 例如"C:\DIR1.EXT\DIR2\FILENAME.EXT",00H */ } Open; /* CMD_FileOpen, 打開(kāi)文件 */ struct { UINT8 mPathName[ MAX_PATH_LEN ]; /* 輸入?yún)?shù): 路徑: [盤符,冒號(hào),斜杠,目錄名或者文件名及擴(kuò)展名(含通配符*)...,枚舉序號(hào)], 其中盤符和冒號(hào)可以省略, 例如"C:\DIR1.EXT\DIR2\FILE*",00H */ } Enumer; /* CMD_FileEnumer, 枚舉文件,返回文件名 */ struct { UINT8 mUpdateLen; /* 輸入?yún)?shù): 是否允許更新長(zhǎng)度: 0禁止,1允許 */ } Close; /* CMD_FileClose, 關(guān)閉當(dāng)前文件 */ struct { UINT8 mPathName[ MAX_PATH_LEN ]; /* 輸入?yún)?shù): 路徑: [盤符,冒號(hào),斜杠,目錄名或者文件名及擴(kuò)展名...,結(jié)束符00H], 其中盤符和冒號(hào)可以省略, 例如"C:\DIR1.EXT\DIR2\FILENAME.EXT",00H */ } Create; /* CMD_FileCreate, 新建文件并打開(kāi),如果文件已經(jīng)存在則先刪除后再新建 */ struct { UINT8 mPathName[ MAX_PATH_LEN ]; /* 輸入?yún)?shù): 路徑: [盤符,冒號(hào),斜杠,目錄名或者文件名及擴(kuò)展名...,結(jié)束符00H], 其中盤符和冒號(hào)可以省略, 例如"C:\DIR1.EXT\DIR2\FILENAME.EXT",00H */ } Erase; /* CMD_FileErase, 刪除文件并關(guān)閉 */ struct { UINT32 mFileSize; /* 輸入?yún)?shù): 新的文件長(zhǎng)度,為0FFFFFFFFH則不修改, 返回: 原長(zhǎng)度 */ UINT16 mFileDate; /* 輸入?yún)?shù): 新的文件日期,為0FFFFH則不修改, 返回: 原日期 */ UINT16 mFileTime; /* 輸入?yún)?shù): 新的文件時(shí)間,為0FFFFH則不修改, 返回: 原時(shí)間 */ UINT8 mFileAttr; /* 輸入?yún)?shù): 新的文件屬性,為0FFH則不修改, 返回: 原屬性 */ } Modify; /* CMD_FileQuery, 查詢當(dāng)前文件的信息; CMD_FileModify, 查詢或者修改當(dāng)前文件的信息 */ struct { UINT32 mSectorOffset; /* 輸入?yún)?shù): 扇區(qū)偏移,0則移動(dòng)到文件頭,0FFFFFFFFH則移動(dòng)到文件尾, 返回: 當(dāng)前文件指針對(duì)應(yīng)的絕對(duì)線性扇區(qū)號(hào), 0FFFFFFFFH則已到文件尾 */ } Locate; /* CMD_FileLocate, 移動(dòng)當(dāng)前文件指針 */ struct { UINT8 mSectorCount; /* 輸入?yún)?shù): 讀取扇區(qū)數(shù), 返回: 實(shí)際讀取扇區(qū)數(shù) */ } Read; /* CMD_FileRead, 從當(dāng)前文件讀取數(shù)據(jù) */ struct { UINT8 mSectorCount; /* 輸入?yún)?shù): 寫入扇區(qū)數(shù), 返回: 實(shí)際寫入扇區(qū)數(shù) */ } Write; /* CMD_FileWrite, 向當(dāng)前文件寫入數(shù)據(jù) */ struct { UINT8 mSectorCount; /* 輸入?yún)?shù): 讀取扇區(qū)數(shù), 返回: 實(shí)際讀取扇區(qū)數(shù) */ UINT8 mReserved; UINT8 mLbaCount; UINT8 mReserved5[5]; PUINT8 mDataBuffer; /* 輸入?yún)?shù): 緩沖區(qū)起始地址, 返回: 緩沖區(qū)當(dāng)前地址 */ } ReadX; /* CMD_FileReadX, 從當(dāng)前文件讀取數(shù)據(jù)到指定緩沖區(qū) */ struct { UINT8 mSectorCount; /* 輸入?yún)?shù): 寫入扇區(qū)數(shù), 返回: 實(shí)際寫入扇區(qū)數(shù) */ UINT8 mReserved; UINT8 mLbaCount; UINT8 mReserved5[5]; PUINT8 mDataBuffer; /* 輸入?yún)?shù): 緩沖區(qū)起始地址, 返回: 緩沖區(qū)當(dāng)前地址 */ } WriteX; /* CMD_FileWriteX, 向當(dāng)前文件寫入指定緩沖區(qū)的數(shù)據(jù) */ struct { UINT8 mSectorCount; /* 累計(jì)已讀取扇區(qū)數(shù) */ UINT8 mActualCount; UINT8 mLbaCount; /* 扇區(qū)數(shù) */ UINT8 mRemainCount; UINT32 mLbaStart; /* 起始LBA */ PUINT8 mDataBuffer; /* 緩沖區(qū) */ } ReadB; /* CMD_FileRead, 從當(dāng)前文件讀取數(shù)據(jù) */ struct { UINT8 mSectorCount; UINT8 mActualCount; UINT8 mLbaCount; UINT8 mAllocCount; UINT32 mLbaStart; PUINT8 mDataBuffer; } WriteB; struct { UINT32 mDiskSizeSec; /* 返回: 整個(gè)物理磁盤的總扇區(qū)數(shù) */ } DiskSize; /* CMD_DiskSize, 查詢磁盤容量 */ struct { UINT32 mByteOffset; /* 輸入?yún)?shù): 以字節(jié)為單位的偏移量, 以字節(jié)為單位的文件指針, 返回: 當(dāng)前文件指針對(duì)應(yīng)的絕對(duì)線性扇區(qū)號(hào), 0FFFFFFFFH則已到文件尾 */ } ByteLocate; /* CMD_ByteLocate, 以字節(jié)為單位移動(dòng)當(dāng)前文件指針 */ struct { UINT8 mByteCount; /* 輸入?yún)?shù): 準(zhǔn)備讀取的字節(jié)數(shù),不得大于MAX_BYTE_IO, 返回: 實(shí)際讀出的字節(jié)數(shù) */ UINT8 mByteBuffer[ MAX_BYTE_IO ]; /* 返回: 讀出的數(shù)據(jù)塊 */ } ByteRead; /* CMD_ByteRead, 以字節(jié)為單位從當(dāng)前文件讀取數(shù)據(jù)塊 */ struct { UINT8 mByteCount; /* 輸入?yún)?shù): 準(zhǔn)備寫入的字節(jié)數(shù),不得大于MAX_BYTE_IO, 返回: 實(shí)際寫入的字節(jié)數(shù) */ UINT8 mByteBuffer[ MAX_BYTE_IO ]; /* 輸入?yún)?shù): 準(zhǔn)備寫入的數(shù)據(jù)塊 */ } ByteWrite; /* CMD_ByteWrite, 以字節(jié)為單位向當(dāng)前文件寫入數(shù)據(jù)塊 */ struct { UINT8 mSaveVariable; /* 輸入?yún)?shù): 為0則恢復(fù)單個(gè)U盤的變量,為0x80則恢復(fù)多個(gè)U盤的變量,其它值則備份/保存變量 */ UINT8 mReserved[3]; PUINT8 mBuffer; /* 輸入?yún)?shù): 指向子程序庫(kù)的變量的備份緩沖區(qū),長(zhǎng)度不小于80個(gè)字節(jié) */ } SaveVariable; /* CMD_SaveVariable, 備份/保存/恢復(fù)子程序庫(kù)的變量 */ } CMD_PARAM;


程序運(yùn)行已經(jīng)沒(méi)有問(wèn)題~~~~現(xiàn)在想知道的是:在我輸入長(zhǎng)文件名后如何獲得unicode碼???這個(gè)需要我自己做軟件???374里面有支持嗎???還有在輸入長(zhǎng)文件名后如何生成短文件名???這個(gè)也是我自己生成???374有支持沒(méi)???再就是長(zhǎng)文件項(xiàng)屬性的填充,374有支持嗎???~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~高手help~~~


長(zhǎng)文件名需要自己轉(zhuǎn)換成UNICODE碼,短文件名是自己指定,你要做的就是前面的兩項(xiàng),然后調(diào)用創(chuàng)建長(zhǎng)文件名函數(shù)即可。


-_-//瀑布汗?。。?!那個(gè)Unicode碼單單中文就那么多個(gè),我要存起來(lái)+英文的那要多少空間啊,掛菜菜啦~~~~~列位大哥可否給點(diǎn)建議?。。。?!淚奔ing~~~~~~~~~

在前面短文件名時(shí),我試過(guò)中文名,在mCmdParam.Create.mPathName里面,一個(gè)漢字由2個(gè)字節(jié)表示,那2個(gè)字節(jié)就是Unicode碼嗎????如果不是的話如何建立一個(gè)漢字與unciode碼對(duì)應(yīng)的表捏?????~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~萬(wàn)能的高手啊?。?!跪求幫忙?。。?!給建議?。。~~~~~~~~~蟹蟹~~~~~~~~~~~~~~~~~[Emot]12[/Emot]


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

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