最近需要用到CH376T往U盘里面存储测试log,每一条log有存储内容有9个细项,都是依次实时写入U盘的。出于延长U盘寿命的考虑,每一条log全部写完后Close_file的时候才允许更新文件长度。但是发现这样压根写不进去,只有在写入每一细项时允许更新文件长度才能按照预想的存入log。哪位版主或者高手能不能点拨一下。写文件的函数如下: /******************************************************************************* * 函 数 名 : Write_file * 描 述 : 向根目录下指定文件中写入数据,若文件存在则跳到文件末尾写入数据;若文件不存在,则创建新文件然后写入数据 * 输 入 : 字符数组,数组长度,更新与否 * 返 回 : 完成状况 *******************************************************************************/ int Write_file(PUINT8 buf, UINT16 ReqCount, UINT8 Update) { UINT8 TarName[64]; u8 s,t; strcpy( (char *)TarName, "\\TESTLOG.TXT" ); /* 目标文件名 */ s= CH376FileOpenPath( TarName ); if (s==ERR_MISS_FILE) s = CH376FileCreatePath( TarName ); /* 新建多级目录下的文件 */ else s=CH376ByteLocate(0xFFFFFFFF); //strcpy((char *)buf,"abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"); s = CH376ByteWrite(buf, ReqCount, NULL ); t = CH376FileClose(Update); return(s); }
/****************************************************************************/