OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4911|回复: 5

f_read如何读取.txt中的浮点小数

[复制链接]

8

主题

19

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-4-25
在线时间
17 小时
发表于 2017-4-25 02:10:03 | 显示全部楼层 |阅读模式
2金钱
    各位高手们,新手发问
我的代码:
***************************************
res=f_open (&fil,"0:/data.txt", FA_READ);

    f_read (&fil, buf,1000,&bww);       
        f_close(&fil);
        printf(buf);
******************************
我的data.txt是长这样,请问要怎么设定才可以让我用浮点小数的方式读取,因为我接下来还要用这些数字做运算
0.131911968        0.082747476        0.102739824        0.073490834        0.07232269        0.092756456        0.065902356        0.152180793        0.104450632        0.188256456        0.093147295        0.100319071        0.074228623        0.103349182        0.065315907        0.110207174        0.110207174        0.072393821        0.072393821        0.081951087        0.064916617        0.055067859        0.055067859        0.064530421        0.044476828        0.053151211        0.071017708        0.013331386        0.061597827        0.035096017        0.006913558        0.060874362        0.041298431;
0.297803418        0.245860849        0.293786067        0.253442595        0.233524754        0.255748783        0.215577792        0.268128968        0.208826586        0.279070082        0.238765691        0.184037854        0.176818228        0.207808013        0.130853059        0.162059584        0.162059584        0.113444183        0.113444183        0.131943861        0.135869805        0.103511154        0.103511154        0.087942331        0.089768621        0.094273978        0.107254814        0.072359088        0.108111825        0.059108526        0.012146732        0.08924777        0.059454749;
1.829675911        1.860010759        1.798853052        1.653386761        1.717588288        1.764930117        1.844754703        1.93027737        1.652854238        1.722426057        1.880654442        1.908783162        1.640337239        1.558480772        0.934571798        0.887491493        0.888257784        0.835172923        0.836668561        0.807417778        0.860723567        0.8052027        0.803260994        0.84471475        0.846745147        0.796935595        0.823076984        0.897736611        0.792617355        0.785582442        0.850485902        0.797428486        0.787619402;
1.970378833        2.010794774        1.899266907        1.762994202        1.832294135        1.894375794        1.986132139        2.348523229        2.083981056        2.177133619        2.316364825        2.374486845        2.079706787        1.953554081        1.286168309        1.24847793        1.249244221        1.210507443        1.212003081        1.187726349        1.22213977        0.851444587        0.861051703        0.909547064        0.944869155        0.856473694        0.918243501        0.964003911        0.844727568        0.876197198        0.914646901        0.8376727        0.853243753;
0.642110145        0.618879512        0.624792841        0.583523146        0.598323894        0.588762344        0.614632514        0.989724246        0.957565015        0.952528804        0.954859049        0.994837989        0.937636591        0.872289624        0.546481668        0.54223617        0.54223617        0.563200163        0.563200163        0.589007614        0.623883454        0.214015624        0.225564446        0.207166368        0.205459808        0.168068804        0.190446439        0.210168877        0.187448584        0.238547248        0.151260993        0.154592063        0.163660115;
0.53241714        0.481005202        0.452881753        0.418862124        0.502715211        0.425319304        0.496516446        0.622486457        0.557039453        0.551815102        0.533665898        0.599141992        0.543274148        0.575624623        0.198355584        0.189192959        0.189192959        0.202190433        0.202190433        0.191821289        0.226320617        0.154516621        0.154516621        0.10692877        0.117137944        0.12904135        0.080971544        0.164530199        0.16720815        0.167851959        0.095424716        0.132154419        0.128145614;


最佳答案

查看完整内容[请看2#楼]

感謝大家,我已經解決了,可以使用strtod这个函数 char buffer[] = "1.12 2.2 3.3 4.455 5.5123"; char *pStart = buffer; char *pEnd = NULL; double d; while(1){ d = strtod(pStart, &pEnd); if(pStart==pEnd) break; else pStart = pEnd; printf("%lf\n", d); }
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

19

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-4-25
在线时间
17 小时
 楼主| 发表于 2017-4-25 02:10:04 | 显示全部楼层
感謝大家,我已經解決了,可以使用strtod这个函数

char buffer[] = "1.12 2.2 3.3 4.455 5.5123";
char *pStart = buffer;
char *pEnd = NULL;
double d;

while(1){
      d = strtod(pStart, &pEnd);
      if(pStart==pEnd) break;
      else pStart = pEnd;
      printf("%lf\n", d);
}
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-4-25 05:49:32 | 显示全部楼层
文本转换到数字
回复

使用道具 举报

8

主题

19

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-4-25
在线时间
17 小时
 楼主| 发表于 2017-4-25 08:37:23 | 显示全部楼层

什么意思 可以讲得详细一点吗
回复

使用道具 举报

19

主题

702

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3339
金钱
3339
注册时间
2013-7-30
在线时间
708 小时
发表于 2017-4-25 08:41:46 | 显示全部楼层
标准 c 库有字符串转浮点数的API,atof
思想很重要,无论做人还是编程!
我的技术公众号【微联智控工作室】
回复

使用道具 举报

8

主题

19

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-4-25
在线时间
17 小时
 楼主| 发表于 2017-4-25 16:53:22 | 显示全部楼层
本帖最后由 shaojim12 于 2017-4-25 16:54 编辑
小温 发表于 2017-4-25 08:41
标准 c 库有字符串转浮点数的API,atof
这样写只能出现第一个数字 请问要怎么改才可以跑全部 第一次用atof所以不是很懂
        res=f_open (&fil,"0:/ytrain4.txt", FA_READ);
       f_read (&fil, buf,4619,&bww);        
        f_close(&fil);
        dd=atof(buf);
          printf("%f",dd);
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 20:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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