#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>

int _tmain(int argc, _TCHAR* argv[])
{
	char strData[]="424df600000000000000360000002800000008000000080000000100180000000000c0000000c40e0000c40e00000000000000000000000000000000000000fe70a0fe70a0000000000000000000000000000000000000fe70a0fe70a0000000000000000000000000000000fe70a0fe70a0fe70a0fe70a0000000000000fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0fe70a0000000000000fe70a0fe70a0fe70a0fe70a0000000000000000000000000000000fe70a0fe70a0000000000000000000000000000000000000fe70a0fe70a0000000000000000000";
	//↑は、バイナリーエディターで8×8サイズのビットマップファイルを読み込んだデータ
	FILE *p;//ファイルポインタに格納されるサイズは、何故だか分かりませんが0x950バイトまで…
	char c;
	int i,d;
	p=fopen("c:\\users\\user\\desktop\\test.bmp","w");//バイナリーデータとして書き込む時は、'b'を付けます。(読み込みも同じ)
	for(i=0;i<sizeof(strData)-1;i+=2){//←sizeofを使った場合、文字列終端子の\0までカウントされるのでstrlenが妥当です。
		c=strData[i];
		if( c>='0' && c<='9' ) d=(c-0x30)*16;
		if( c>='a' && c<='f' ) d=(c-0x61+10)*16;
		c=strData[i+1];
		if( c>='0' && c<='9' ) d+=(c-0x30);
		if( c>='a' && c<='f' ) d+=(c-0x61+10);

		fputc((unsigned char)d,p);
	}
	fclose(p);

	return 0;
}
ポインター inserted by FC2 system