ちゃんと書けたか確認(実際は書けていなかったのですが)しようとしたのですが
上手くいきませんでした。
分からない点は、
freadして fwriteしたの所が読んだ物をそのまま書けていない点。
表示の所でcallo_mem[a]という使い方で中身が表示出来ない点です
どなたかお力を貸して下さい
int temp_gara_make(u_int x_size,u_int y_size)
{
long plus = 0;
u_int amari;
u_int i;
u_int a;
char *callo_mem;
if ((T_fp = fopen(T_File,"ab")) == 0) { /* Temp file */
printf("\nTemp_File_Open_Error!!\n");
return 100;
}
if ((BMP_fp = fopen(B_File,"rb")) == 0) { /* BMP file */
printf("\n BMP_File_Open_Error2!!\n");
return 200;
}
else {
fseek(BMP_fp,B_str_p,SEEK_SET); /* B_str_p = BMP画像書出し位置 */
callo_mem = (char *)calloc(x_size,sizeof(char)) ;
if(callo_mem == 0) {
printf("\nメモリの確保が出来ません");
free(callo_mem);
}
else {
fseek(T_fp,0,SEEK_END);
for(i=1; i<=y_size; i++) {
fread(callo_mem,x_size,1,BMP_fp);
fwrite(callo_mem,x_size,1,T_fp);
for(a = 0; a<x_size; a++) {
printf("%d:%d",a,callo_mem[a]);
}
amari = x_size % 4;
switch(amari) {
case 1:
plus = plus + x_size + 3;
break;
case 2:
plus = plus + x_size + 2;
break;
case 3:
plus = plus + x_size + 1;
break;
case 0:
plus = plus + x_size;
break;
default:
printf("\n間違った計算結果です");
break;
}
plus = B_str_p + plus; /* plus = 次の画像開始位置*/
fseek(BMP_fp,plus,SEEK_SET);
fseek(T_fp,plus,SEEK_SET);
}
printf("\ntemp_make 書き込み終了\n");
free(callo_mem);
}
}
fclose(BMP_fp);
fclose(T_fp);
}