最近需要用到CH376T往U盤里面存儲(chǔ)測(cè)試log,每一條log有存儲(chǔ)內(nèi)容有9個(gè)細(xì)項(xiàng),都是依次實(shí)時(shí)寫入U(xiǎn)盤的。出于延長(zhǎng)U盤壽命的考慮,每一條log全部寫完后Close_file的時(shí)候才允許更新文件長(zhǎng)度。但是發(fā)現(xiàn)這樣壓根寫不進(jìn)去,只有在寫入每一細(xì)項(xiàng)時(shí)允許更新文件長(zhǎng)度才能按照預(yù)想的存入log。哪位版主或者高手能不能點(diǎn)撥一下。寫文件的函數(shù)如下: /******************************************************************************* * 函 數(shù) 名 : Write_file * 描 述 : 向根目錄下指定文件中寫入數(shù)據(jù),若文件存在則跳到文件末尾寫入數(shù)據(jù);若文件不存在,則創(chuàng)建新文件然后寫入數(shù)據(jù) * 輸 入 : 字符數(shù)組,數(shù)組長(zhǎng)度,更新與否 * 返 回 : 完成狀況 *******************************************************************************/ int Write_file(PUINT8 buf, UINT16 ReqCount, UINT8 Update) { UINT8 TarName[64]; u8 s,t; strcpy( (char *)TarName, "\\TESTLOG.TXT" ); /* 目標(biāo)文件名 */ s= CH376FileOpenPath( TarName ); if (s==ERR_MISS_FILE) s = CH376FileCreatePath( TarName ); /* 新建多級(jí)目錄下的文件 */ else s=CH376ByteLocate(0xFFFFFFFF); //strcpy((char *)buf,"abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"); s = CH376ByteWrite(buf, ReqCount, NULL ); t = CH376FileClose(Update); return(s); }
/****************************************************************************/