【发布时间】:2025-12-06 13:40:01
【问题描述】:
我正在尝试使用 fscanf 函数从文件中获取双精度值。 我正在运行以下代码: 这是我的代码的摘录:
double some_double;
fscanf(file_name,"%lf", &some_double);
例如。文件内容为“10.5”
在调试模式下,我看到读取值 == 10.0000
这是什么:fscanf 函数的错误实现,还是我的错误? 如果是第二个变体 - 请建议如何修复它? 拜托了
编辑
#define nameOfFile "infoOnObjects.txt"
#define stop _asm nop
FILE* file = fopen(nameOfFile, "r");
if (file == NULL)
throw "error";
double num;
int n = fscanf(file,"%lf", &num);
【问题讨论】:
-
%some_double甚至可以编译吗? -
大概实际代码有
&some_double? -
是的,抱歉,当我写帖子时,我输入了错误的字符,代码中出现“&”
-
请给我们一个例子
file_name你从哪里得到的。 -
我猜
file_name实际上不是包含文件名的字符串,而是fopen返回的FILE指针?