/* 为指定文件设置创建日期和时间 */
/* 输入参数: 原始文件名在iFileName中, 新的创建日期和时间: iCreateDate, iCreate
time */
/* 返回状态码: USB_INT_SUCCESS = 设置成功,
其它状态码参考CH376INC.H */
UINT8SetFileCreateTime( PUINT8 iFileName, UINT16 iCreateDate, UINT16 iCreateTime )
{
UINT8s;
s = CH376FileOpen( iFileName ); /* 打开文件 */
mStopIfError( s );
if ( s == USB_INT_SUCCESS )
{
/* 文件读写操作等... */
s = CH376DirInfoRead( ); /* 读取当前文件的目录信息FAT_DIR_INFO,将相关数据调到内存中 */
mStopIfError( s );
if ( s == USB_INT_SUCCESS )
{
buf[0] = (UINT8)iCreateTime; /* 文件创建的时间,低8位在前 */
buf[1] = (UINT8)(iCreateTime>>8); /* 文件创建的时间,高8位在后 */
CH376WriteOfsBlock( buf, STRUCT_OFFSET( FAT_DIR_INFO, DIR_CrtTime ), 2 ); /* 向内部缓冲区偏移地址DIR_CrtTime写入2个字节 */
buf[0] = (UINT8)iCreateDate; /* 文件创建的日期,低8位在前 */
buf[1] = (UINT8)(iCreateDate>>8); /* 文件创建的日期,高8位在后 */
CH376WriteOfsBlock( buf, STRUCT_OFFSET( FAT_DIR_INFO, DIR_CrtDate ), 2 ); /* 向内部缓冲区偏移地址DIR_CrtDate写入2个字节 */
s = CH376DirInfoSave( ); /* 保存文件的目录信息 */
if ( s == USB_INT_SUCCESS )
{ /* 成功修改并保存 */
/* 文件读写操作等... */
}
mStopIfError( s );
}
CH376FileClose( FALSE ); /* 关闭文件 */
}
return( s );
}
s=SetFileCreateTime("/TEST.TXT ", MAKE_FILE_DATE( 2022,7, 24 ), MAKE_FILE_TIME( 20, 13, 30));
大家好,调用这个函数修改时间,最后return是ox14,文件日期还是2004.1.1,请问有可能是什么原因?
我是按照EXAM11进行的,能修改文件名,就是日期修改不了,文件内容也能正常读写,请问大家可能是什么原因?