|

楼主 |
发表于 2014-6-6 21:53:15
|
显示全部楼层
函数实例:
/*
*********************************************************************************************************
* 函 数 名: Test_f_open
* 功能说明: f_open函数测试
* 形 参:无
* 返 回 值: 无
*********************************************************************************************************
*/
void Test_f_open(void)
{
FRESULT result;
FATFS fs;
FIL file;
/* 第1步:先挂载文件系统*********************************************************************/
result = f_mount(&fs, "1:", 1); /* Mount a logical drive */
if (result != FR_OK)
{
printf("挂载文件系统失败 (%s)\\r\\n", FR_Table[result]);
}
else
{
printf("挂载文件系统成功 (%s)\\r\\n", FR_Table[result]);
}
/* 第2步:先将相应的文件删除,方便后面的测试****************************************************/
f_unlink("1:/message.txt");
if (result != FR_OK)
{
printf("文件删除失败 (%s)\\r\\n", FR_Table[result]);
}
else
{
printf("文件删除成功 (%s)\\r\\n", FR_Table[result]);
}
/* 第3步:参数 FA_READ********************************************************************/
result = f_open(&file, "1:/message.txt", FA_READ);
if (result != FR_OK)
{
printf("FA_READ读文件失败 (%s)\\r\\n", FR_Table[result]);
}
else
{
printf("FA_READ读文件成功 (%s)\\r\\n", FR_Table[result]);
}
/* 第4步:参数 FA_READ*********************************************************************/
result = f_open(&file, "1:/message.txt", FA_OPEN_EXISTING);
if (result != FR_OK)
{
printf("FA_OPEN_EXISTING打开文件失败 (%s)\\r\\n", FR_Table[result]);
}
else
{
printf("FA_OPEN_EXISTING打开文件成功 (%s)\\r\\n", FR_Table[result]);
}
/* 第5步:参数 FA_READ | FA_OPEN_EXISTING***************************************************/
result = f_open(&file, "1:/message.txt", FA_READ | FA_OPEN_EXISTING);
if (result != FR_OK)
{
printf("FA_READ | FA_OPEN_EXISTING失败 (%s)\\r\\n", FR_Table[result]);
}
else
{
printf("FA_READ | FA_OPEN_EXISTING成功 (%s)\\r\\n", FR_Table[result]);
}
/* 第6步:参数 FA_READ | FA_OPEN_EXISTING****************************************************/
result = f_open(&file, "1:/message.txt", FA_READ | FA_OPEN_ALWAYS);
if (result != FR_OK)
{
printf("FA_READ | FA_OPEN_ALWAYS失败 (%s)\\r\\n", FR_Table[result]);
}
else
{
printf("FA_READ | FA_OPEN_ALWAYS成功 (%s)\\r\\n", FR_Table[result]);
}
/* 创建成功后需要将其关闭 */
f_close(&file);
/* 第7步:参数 FA_CREATE_NEW****************************************************/
result = f_open(&file, "1:/message.txt", FA_CREATE_NEW);
if (result != FR_OK)
{
printf("FA_CREATE_NEW(%s)\\r\\n", FR_Table[result]);
}
else
{
printf("FA_CREATE_NEW(%s)\\r\\n", FR_Table[result]);
}
/* 第8步:参数 FA_CREATE_ALWAYS ****************************************************/
result = f_open(&file, "1:/message.txt", FA_CREATE_ALWAYS);
if (result != FR_OK)
{
printf("FA_CREATE_ALWAYS(%s)\\r\\n", FR_Table[result]);
}
else
{
printf("FA_CREATE_ALWAYS(%s)\\r\\n", FR_Table[result]);
}
/* 最后一步:卸载文件系统 */
result = f_mount(NULL, "1:", 1);
if (result != FR_OK)
{
printf("卸载文件系统失败 (%s)\\r\\n", FR_Table[result]);
}
else
{
printf("卸载文件系统成功 (%s)\\r\\n", FR_Table[result]);
}
}
打印结果如下:
|
|