从文本中格式化的一行行读取出浮点数

从txt文本中一行行地读取出浮点数

假设定义文件内容为:
123.4
231.4
1.2565
-0.000334

使用fscanf函数从文件中读取数据,每次读取一行。
fscanf严格按照数据类型来读取,如果是要读取并保存在double类型的数据a里面,则占位符应该是%lf。

建议加上换行符

	FILE *p =fopen("./fp.txt","r");
	double a;
	int	cnt;
	while(!feof(p))
	{
		fscanf(p, "%lf\n",&a);
		cnt ++;
		printf("%0d, %lf\n", cnt, a );
	}
	fclose(p);
(base) G:\codes\C>out.exe
1, 123.400000
2, 231.400000
3, 1.256500
4, -0.000334

如果a定义为double,fscanf的占位符是%f,则无法读出数据:

	FILE *p =fopen("./fp.txt","r");
	double a;
	int	cnt;
	while(!feof(p))
	{
		fscanf(p, "%f\n",&a);
		cnt ++;
		printf("%0d, %f\n", cnt, a );
	}
	fclose(p);
(base) G:\codes\C>out.exe
1, 0.000000
2, 0.000000
3, 0.000000
4, 0.000000
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值