lindabell 发表于 2012-3-2 11:14:24

rt-thread DSF中怎么往文件里追加内容

\ | /
- RT -   Thread Operating System
/ | \   1.0.0 build Mar1 2012
2006 - 2011 Copyright by rt-thread team
found part, begin: 66048, size: 1.885GB

File System initialized!
finsh>>cat("/ARMFLY.TXT")
123456Write Demo

www.armfly.com lindabell        0, 0x00000000
finsh>>
finsh>>append("/ARMFLY.TXT","ABCDE",5)
write data len:226        0, 0x00000000
finsh>>
finsh>>cat("/ARMFLY.TXT")
123456Write Demo

www.armfly.com lindabell        0, 0x00000000
finsh>>
finsh>>


---------------------------------------------------------
void append(const char * filename,const char * buf,const char Size)
{
        struct dfs_fd fd;
        rt_uint8_t len;
       
        if(dfs_file_open(&fd,filename,DFS_O_APPEND)<0)
        {
                rt_kprintf("open %s failed\n",filename);
        }
        len=dfs_file_write(&fd,buf,Size);
        rt_kprintf("write data len:%d",len);
        dfs_file_close(&fd);
}
FINSH_FUNCTION_EXPORT(append, append to file)


不知道那里写错了呢???

lindabell 发表于 2012-3-2 11:27:08

试出来了
原来追加还得写呢,参数少了DFS_O_WRONLY 了

tiancaigao7 发表于 2012-3-2 17:58:45

嗯,看了追加这个参数,他调用的是FATFS里面的跳转指令,将文件的指针跳转到文件末尾,但是并没有实现写入的命令。
页: [1]
查看完整版本: rt-thread DSF中怎么往文件里追加内容