硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2843|回复: 9
收起左侧

[RL-FlashFS] 求助,fwrite写入函数返回成功但实际没有写入,这个是什么问题???

[复制链接]

25

主题

99

回帖

179

积分

初级会员

积分
179
发表于 2019-9-2 13:45:57 | 显示全部楼层 |阅读模式
在rtx的一个任务内,调用fwrite写入数据到csv文件内,函数返回是成功了,但把SD卡拿下来在电脑上看,文件创建是成功了,但没有写入数据,请问这个是什么问题????fprintf也是如此,用ferror检查也没有错误,但就是写不进去,

  1. fout = fopen ("S0:\\test\\test1.csv", "a+");
  2.                 if (fout != NULL)
  3.                 {
  4.                         /* 依次写5行数据 */
  5.                         fprintf (fout, "%02d-%02d-%02d\r\n", time_get_t.tm_hour, time_get_t.tm_min, time_get_t.tm_sec);
  6.                        
  7.                        
  8.                        
  9.                         /* 使用函数ferror检测是否发生过错误 */
  10.                         if (ferror(fout) != NULL)  
  11.                         {
  12.                                
  13.                         }
  14.                         else
  15.                         {
  16.                                 if(led_flag)
  17.                                 {
  18.                                         LEDC_PIN_ON();
  19.                                 }
  20.                                 else
  21.                                 {
  22.                                         LEDC_PIN_OFF();
  23.                                 }
  24.                         }
  25.                         /* 将所有数据都读出来,使用fgets函数的好处就是可以一行一行的读取,因为此函数遇到'\n'换行符就会停止读取 */
  26.                         while (fgets((char *)cache_buf, sizeof(cache_buf), fout) != NULL)  
  27.                         {
  28. //                                printf("%s", Readbuf);       
  29.                         }
  30.                         /* 关闭文件 */
  31.                         if(fclose(fout))
  32.                         {
  33.                                 while(1);
  34.                         }
  35.                 }
  36.                 led_flag = !led_flag;
  37.                 os_dly_wait(500);
复制代码



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2019-9-2 14:50:55 | 显示全部楼层
fclose返回值是成功的不。

特别注意重定向文件的实现,也就是我们所提供例子里面的Retarget.c文件,这个问题没整好,容易导致没有成功写入
回复

使用道具 举报

25

主题

99

回帖

179

积分

初级会员

积分
179
 楼主| 发表于 2019-9-2 15:01:21 | 显示全部楼层
eric2013 发表于 2019-9-2 14:50
fclose返回值是成功的不。

特别注意重定向文件的实现,也就是我们所提供例子里面的Retarget.c文件,这个 ...

fclose是成功的,返回为0 ,重定向文件直接就是用的老大你做的那个。也是比较纠结了这个问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2019-9-2 15:04:45 | 显示全部楼层
xujun 发表于 2019-9-2 15:01
fclose是成功的,返回为0 ,重定向文件直接就是用的老大你做的那个。也是比较纠结了这个问题。

单独编译下这个文件,然后全编译试试,有时候MDK容易遗漏
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2020-5-14 22:52:12 | 显示全部楼层
遇到同样的问题,想问下楼主问题解决了吗?
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2020-5-15 10:15:18 | 显示全部楼层
搞定了,就是重定向的问题,谢谢提醒@eric2013。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2020-5-15 12:12:10 | 显示全部楼层
ZhuRouDing 发表于 2020-5-15 10:15
搞定了,就是重定向的问题,谢谢提醒@eric2013。

好的,后续还有什么问题,再交流。
回复

使用道具 举报

4

主题

14

回帖

26

积分

新手上路

积分
26
发表于 2020-7-20 13:47:08 | 显示全部楼层
楼主你好,我也遇到这个问题,但是我重新编译了那个Retarget.c,还是不行,请问还需要别的操作吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2020-7-20 15:47:14 | 显示全部楼层
641115388 发表于 2020-7-20 13:47
楼主你好,我也遇到这个问题,但是我重新编译了那个Retarget.c,还是不行,请问还需要别的操作吗

MDK的option选项的微库不要选。
回复

使用道具 举报

4

主题

14

回帖

26

积分

新手上路

积分
26
发表于 2020-7-20 16:00:17 | 显示全部楼层
eric2013 发表于 2020-7-20 15:47
MDK的option选项的微库不要选。

没有选择            
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 19:42 , Processed in 0.183611 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表