c++ - 如何从命令行 (unix) 打印二进制 double 组

标签 c++ c bash binary octal

我得到了二进制文件,其中包含 double 。我如何将其打印到终端。 我试过 octaldump 'od' 但无法弄清楚我试过类似的语法

head -c80 |od -f

但这不起作用,od 的手册页非常糟糕。

我已经编写了一个可以执行我想要的操作的 c 程序, 类似于假设 10double block 。

double tmp[10];
while(fread(tmp,sizeof(double),10,stdin))
    for(int i=0;i<10;i++)  printf("%f\t",tmp[i]);

谢谢。

最佳答案

你试过了吗hexdump效用?

hexdump -e ' [iterations]/[byte_count] "[format string]" ' filename

其中格式字符串应该是 "%f",字节数应该是 8,迭代你想要读取的 float

关于c++ - 如何从命令行 (unix) 打印二进制 double 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2114477/

相关文章:

c++ - 模板继承和成员访问

c++ - 如何确定编译器是对虚函数使用早期绑定(bind)还是后期绑定(bind)?

c - 每个.h文件都有一个对应的目标文件吗?

c - fork 错误?怎么修?

command-prompt - 如何设置$?在 PS1 调用的函数中?

c++ - 内存方面的前向声明到底是什么?

c++ - "reference can never be made to refer to another object"是什么意思?

C - 将 char 数组转换为整数指针?

bash - Shell脚本通用模板

json - jq - 添加新字段并更新整个文件