用C读取文件里的数据是什么调用格式

来源:百度知道 编辑:UC知道 时间:2024/09/24 10:36:59
如果一想读取WANGXB.TEXT里的数据,数据内容为
2e11 0.3 0.1 1 0
1 1 2 3
1 0 0
2 1 0
3 0 1
以上数据是.text里的内容。
我想知道怎样用C编译器里的fscanf()调用以上.text里的数据。
我是这样写的:fcanf(fp1,"%f,%f,%f,%d,%d",&e,&mu,&t,&itype1,&itype2);
但是得不到数据,也就是说再输出来全是0;
望高手指点!
我的目录是在同一个文件夹下
#include<stdio.h>
#include<stdlib.h>
main()
{ FILE *fp;
int b;clrscr();
float c;
fp=fopen("a.text","r");
fscanf(fp,"%d %f",&b,&c);
printf(" %d,%f ",b,c);
}
比如说a.txt里有5000 3.2
热输出来的是5000,512912279750513923000000000000.000000
高手说说

我觉得读取文件要注意几点:
一:文件路径是否存在。
二:你是否正确打开文件。
三:你读取文件内容的方法是否正确。
比如:我的文件路径是D:\new.txt,(楼主,貌似你打错了吧!应该 是.txt文件)那么你应该这样读:
FILE *fp;
fp=fopen("D:\\new.txt","r");
"r"的意思就是只读。如果文件和你的源程序文件在同一
目录就可以直接这样打开:
fp=fopen("new.txt","r");
如果文件中有这样的数据:(你的文件里的数据我看不清)
3.14 5.67 c 67
那么你应该这样读取:
float a,b;
char c;
int d;
fscanf(fp,"%f%f%c%d",&a,&b,&c,&d);
然后输出就是
printf("%f %f %c %d\n",a,b,c,d);

回答问题补充:
1、这个clrscr()函数在这里没什么用,而且你要用的话就要#include <conio.h>
2、你又fp=fopen("a.text","r"),你确认你的文件是text吗?
3、printf(" %d,%f ",b,c)这里会输出5000,3.200000,如果想去掉多余的0那么可以这样:printf(" %d,%.1f ",b,c);。意思就是只保留一位小数输出。