c - 从动态无符号字符数组中读取 double

标签 c

我将直接从“gz”格式文件读取数据。在c中使用“zlib”,我从gz文件中读取数据,现在我有一个无符号字符数组,即“str”。我想使用“sscanf”提取双数。这是我的代码:

printf("%s\n", str);
double d1,d2,d3;
sscanf(str, "%lf %lf %lf", &d1, &d2, &d3);
printf("%lf\n", &d1);
printf("%lf\n", &d2);
printf("%lf\n", &d3);

输出是:

23.323 1111.232 434434.1
0.000000
0.000000
0.000000

看来我已经成功从gz文件中读取str,但无法从str中读取 double 。

最佳答案

这会起作用。这是因为 %lf 需要一个 double 值,而您正在传递一个指向 double 值的指针。

printf("%lf\n", d1);
printf("%lf\n", d2);
printf("%lf\n", d3);

关于c - 从动态无符号字符数组中读取 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57125427/

相关文章:

c - 模糊图像滤镜 - C

c - 函数指针会使程序变慢吗?

c - 打印存储在 unsigned int 中的实际负数

c++ - 理解 C/C++ 中无括号的 for/if 组合

c - 尝试将结构传递给函数时保持段错误

c - 18万亿次抛硬币,我哪里错了?

CRC16生成和校验

java - Android 应用程序在使用 JNI 后随机崩溃

c - 参数中的 "char*"是指向单个 char 还是 char 数组的指针?

c - 如何使用 header 将 C 源文件链接在一起