2014-07-04 117 views
-2
printf("Enter the name of file you wish to see\n"); 
gets(file_name); 
fp = fopen(file_name,"rb"); 
while((ch = fgetc(fp)) != EOF && loop) 
{ 
    printf("value of ch is %x\n",ch); 
    loop--;    
} 

以十六进制值的变量C I有一个二进制文件,我用“RB”阅读permission.and十六进制打印其价值,但如果我一个数组中采取这一价值等然后它显示不同的值,当我打印数组值不同于我在这个代码打印。从二进制文件

请帮我了解如何在数组中存储二进制文件的数据(十六进制)。

+1

你解释你的问题这么清楚... – Jerky

+1

请不要“编辑”你的问题有一个完全不同的问题来取代它,尤其是在其他人已经张贴解答。我已经恢复了这一改变。如果你有不同的问题要问,请发表另外一个问题,然后单独留下这个问题。 – Wyzard

回答

2

数据本身不是“十六进制”,它只是来自文件的单个字符(字节,通常是)位。

您可以选择以十六进制或其他任何格式打印。无论数组中的值是否存在,您都可以这样做。

0

应该写成

const int t_huffman_env_1_5dB[][2] = 
{ 
    {0x00000012, 0x0003FFD6}, 
    {0x00000012, 0x0003FFD7}, 
    {0x00000012, 0x0003FFD8}, 
    {0x00000012, 0x0003FFD9}, 
    {0x00000012, 0x0003FFDA}, 
    {0x00000012, 0x0003FFDB}, 
    {0x00000013, 0x0007FFB8}, 
    {0x00000013, 0x0007FFB9}, 
    {0x00000013, 0x0007FFBA}, 
    {0x00000013, 0x0007FFBB}, 
    {0x00000013, 0x0007FFBC}, 
    {0x00000013, 0x0007FFBD}, 
    {0x00000013, 0x0007FFBE}, 
    {0x00000013, 0x0007FFBF}, 
    {0x00000013, 0x0007FFC0}, 
    {0x00000013, 0x0007FFC1}, 
    {0x00000013, 0x0007FFC2}, 
    {0x00000013, 0x0007FFC3}, 
    {0x00000013, 0x0007FFC4}, 
    {0x00000013, 0x0007FFC5} 
}; 
+0

@Petter:OP自我回答他完全改变的问题。原始的q是[here](http://stackoverflow.com/revisions/24572324/3)。 – usr2564301