2014-01-13 59 views
-1

我真的試過不要問這個問題,但經過幾天的搜索後,C++讀取二進制文件中的整個文件並將其打印在屏幕上

我需要編寫一個程序,打開一個名爲「input.bin」的文件,並在屏幕上以二進制形式打印它。

雖然它對於每個字節將其添加到00000101每個字節並打印在「result.bin」

(for example 01001010 
       +00000101 
       =01001111 
and 11111111 
    +00000101 
    =00000100) 
+0

你能告訴我們有什麼你嘗試過? – 0x499602D2

+0

我真的沒有得到任何地方。這是我採取了最多的代碼http://stackoverflow.com/questions/10195343/copy-a-file-in-an-sane-safe-and-efficient-way,但不知何故,我認爲我應該有一直使用unsigned char而不是char。這個位操作很難在網上找到,好像現在沒有人對它感興趣。這是我的任務,所以我真的不能問教授的幫助。 – user1398593

+0

這裏沒有真正需要的位操作。根據您的描述,您正在讀取字節,添加5並寫入字節。執行此操作的代碼可能比您想象的要簡單得多。 –

回答

1

這太簡單了,我明確地編寫代碼,但這應該幫助你:

  • 打開 「input.bin」 爲讀作二進制
  • 打開 「output.bin」 寫
  • 閱讀每個字節,p使用輔助功能在屏幕上漂洗二進制值
  • 加5(不需要做任何特殊的事情,只是從字面上加5並確保使用無符號字符類型)並將該字節的值寫入output.bin
  • 當EOF,刪除(「input.bin」);並重命名(「output.bin」,「input.bin」);

對於一個很好的提示上一次讀取單個字符和檢查EOF:http://www.cplusplus.com/reference/cstdio/fgetc/

對於二進制打印了一些問題已經回答了很多次: Is there a printf converter to print in binary format?

相關問題