【C言語】1番単純なバイナリダンプのコード

エンジニア・IT

C言語で作成するバイナリダンププログラムのコードです。

ソフトウェア会社の研修で作成しました。

作成した時期は入社して3週間後くらいだった気がします。

ネットで検索しても「ファイルの内容を16進でダンプする」という簡単なコードが見つからなかったため、記事にしておきます。

1番単純なバイナリダンプのコードですので、テキストの表示もファイル操作もありません。

実行する際にはコマンドプロンプト上で下記のように実行して下さい。

実行ファイル名(binarydump.exeなど)< ダンプしたいファイル名

スポンサーリンク

バイナリダンプのコード

/*****************************************************************************
バイナリダンプを表示するプログラム

<binarydump.c> ver1.00
------------------------------------------------------------------------------
作成日:
作成者:nashizawa
*****************************************************************************/
//---ヘッダーファイル---
#include <stdio.h>

/******************************************************************************
---main関数---
******************************************************************************/

int main(void)
{
  int ch = 0;     //文字の変数
  int count = 0;  //1バイトずつダンプした回数をカウントする変数

  while(ch != EOF){

    ch = getchar();  //データの読み取り

    if(ch == EOF){   //ファイル終端
      printf(" EOF");
      printf("\n");
      break;
    }

    //下位の4ビットが全て0の場合
    if((count & 0x0F) == 0x00){
      printf("%08x", count >> 4);  //アドレスの表示
    }

    printf(" %02X", ch);  //1バイトずつ2桁の表示

    //下位4ビットが全て1の場合
    if((count & 0x0F) == 0x0F){
      printf("\n");
    }
    count++;
  }
  return 0;
}

実行結果

実行結果として、このソースファイル自体をダンプした結果を載せておきます。

単純すぎるバイナリダンプのコードですが、誰かの参考になれば。

その他:研修で作成したC言語プログラム

その他のC言語プログラム集はこの投稿にまとめてあります!

C言語の初心者用コードなので是非活用して下さい。

【C言語】研修 サンプルプログラム集

コメント

タイトルとURLをコピーしました