2014-07-04 147 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