本帖最后由 kalo425 于 2013-11-26 21:04 编辑
帮同学弄了个新号,没有啥莫元了。都送给你们
是这样的,我有2000多个浮点数据,需要保存data.x 和 data.y,
----------------------------------------------------------
最开始想保存成csv格式的。
001.jpg (16.08 KB, 下载次数: 0)
下载附件
2013-11-26 20:52 上传
,
问题1,第二行没分开,在一个格子里面。
问题2,那2000多个数据涅??妈蛋··怎么都是空的。外面文件可以7K呢
f_puts(" 未处理的光谱数据
",&file);
f_lseek(&file,file.fptr);
f_sync(&file);
f_puts(" 位移
强度
",&file);
//,我已经加了 制表符号了,妥妥的, “ ” 位移和强度怎么就都在一个格子里面呢?
=================================================
- for(i=0;i<cnt;i++)
- {
- f_printf(&file, "%.2f %.0f
",pbuf[i].x,pbuf[i].y);
- printf("%.2f ",pbuf[i].x);
- }
复制代码
然后看这个 格式化输出也不对啊·····都是空的,我加了一句从串口打印,打印出来的都是对的·····
--------------------------------------------------------------------------------------------
后来我保存成txt的,还是不行·····看到那个f_printf(&file, "%
.2f %
.0f
",pbuf
.x,pbuf.y); 了吧
txt文件里面,没有数据,都是这个 .2f .f····
=============================
看在40块大洋,我的全部家当的面子上,大家帮帮忙
小弟水平有限,请轻喷哈
f_printf是不支持浮点类型的,建议用sprintf转换成字符,再写进文件
我用sprintf 抓换,然后用 f_write写,还是出错
- for(i=0;i<cnt;i++)
- {
- sprintf(tempbuf," %.2f %.0f
",pbuf[i].x,pbuf[i].y);//格式化写入字符
- //f_printf(&file, "%.2f %.0f
",pbuf[i].x,pbuf[i].y);
- //f_puts(" ",&file);
- //f_puts(tempbuf,&file);
- f_write(&file,tempbuf,sizeof(tempbuf),&bw); // 这里写入字节个数怎么算?能用sizeof?
- f_lseek(&file, file.fptr);
- f_sync(&file);
- printf("%.2f ",pbuf[i].y); //从串口打印数据,查看是否存储正确
- }
复制代码我刚看时用的p_puts 和f_printf 发现都不行,现在用了 f_write也不行。没办法了····
- f_lseek(&file, file.fptr);
复制代码最好放在循环体里的最前面并且建议使用下面的语句替换上面的语句
- f_lseek(&fsrc_temp, f_size(&fsrc_temp)); // point to the end of a file
复制代码恩,谢谢。我去试试
一周热门 更多>