gif解析

 
昨日書いたように、gif解析をしようとしています。
バイナリを出力する、いいかんじのソフトがなかったので
久しぶりにC言語を書きました。

#include 

/* プロトタイプ宣言 */
void debug(char *);

main(int argc, char *argv[]){
	FILE *fp_r;
	FILE *fp_w;
	char r[16];
	char tmp_r[1];
	char str_w[16];
	
	char filename_gif[16];
	char filename_dat[16];

	int i;
	int j;

	int end_flag;

	end_flag = 0;

	sprintf(filename_gif,"%s",argv[1]);
	sprintf(filename_dat,"%s.dat",filename_gif);
	fp_r = fopen(filename_gif,"rb");
	if(fp_r == NULL){
		return 1;
	}
	fp_w = fopen(filename_dat,"w");

	while(1){
		/* 16バイトごとに行をつくる */
		for(j=0; j<16; j++){
			/* fread=0の場合は、その行を出力して終了 */
			if(fread(tmp_r,1,1,fp_r)<=0){
				end_flag = 1;
				break;
			}
			fprintf(fp_w, "%x\t", tmp_r[0]);
			r[j] = tmp_r;
		}
		fprintf(fp_w, "\t\t%s\n", &r);
		if(end_flag == 1){
			break;
		}
	}

	return 0;

}

void debug(char *str){
	FILE *fp;
	fp = fopen("debug.txt","a");
	fprintf(fp, "%s", &str);
}

 
ポインタが使えなくなってるっていう・・・。orz
 
どうでもいい補足:このファイル名は気分で「Samishinbo.c(さみしんぼ)」です。なんとなく