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

2019-07-20 14:58发布

    各位高手们,新手发问
我的代码:
***************************************
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;


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
shaojim12
1楼-- · 2019-07-20 15:31
感謝大家,我已經解決了,可以使用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 ", d);
}
操作系统
2楼-- · 2019-07-20 21:14
 精彩回答 2  元偷偷看……
shaojim12
3楼-- · 2019-07-20 22:54
操作系统 发表于 2017-4-25 05:49
文本转换到数字

什么意思 可以讲得详细一点吗
小温
4楼-- · 2019-07-21 03:48
标准 c 库有字符串转浮点数的API,atof
shaojim12
5楼-- · 2019-07-21 05:01
 精彩回答 2  元偷偷看……

一周热门 更多>