如何读取TXT文件并保存里面的数据为浮点型?

来源:百度知道 编辑:UC知道 时间:2024/06/27 05:58:48
有一个TXT文件,里面保存着若干的小数,我想读取里面的若干的内容,然后保存到C程序的float数组里,怎么样做才最高效方便呢?

比如TXT文件里有:
1.23 2.21 3.14

这三个靠空格分隔开的数字,读取到C程序里保存到float数组中。怎么做?
请回答具体一点,楼下明显不是按照我的意思回答的。

是我问题没表达清楚吗???
有一个a.txt的文件,里面有三个数字,刚刚我写的三个数字,现在要读这三个数字到程序里。
读文本文件至少要fopen命令另外再用到FILE吧?????
晕死。

使用CStdioFile。首先把文本文件的每行数据读到一个缓冲区,然后使用sscanf把它转化为字符格式。
比如在一个txt文件里每一行数据格式是这样的:
A1 A2 A3 A3 ......An
那么读取的主体代码是:
CStdioFile File; // 定义一个CStdioFile类变量File
CString FileData; // 定义一个CString,作为一个缓冲区
/*定义n个临时字符串变量,大小依据实际情况,这里暂设为10
*/
char TempStr1[10],TempStr2[10]......TempStrN[10];
File.ReadString(FileData); // 将一行数据读到缓冲区
/*将该行数据的n个字符读到n个临时字符串变量*/
sscanf(FileData,"%s %s %s %s ......%s",TempStr1,TempStr2......TempStrN);

#include "stdio.h"
#include "stdlib.h"
void main()
{
float a[3];
FILE *fp;
if((fp=fopen("C:/a.txt","r"))==NULL)
{
printf("Open file error!\n");
exit(1);
}
fscanf(fp,"%f%f%f",&a[0],&a[1],&a[2]);
fclose(fp);
}

float a[3];
scanf("%f %f %f",&a[0],&a[1],&a[2]);

这样不行么?

double a, b, c;
scanf("%lf%lf%lf", &a, &b, &c);