キャラクタフローティングポイント

1642 ワード

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef char BYTE ;
typedef float DWORD;

int main()
{

    int i;
    FILE *fp1,*fp2;

    BYTE  *data1=(BYTE *)malloc(400*640*sizeof(BYTE));
    DWORD *data2=(DWORD *)malloc(400*640*sizeof(DWORD));
    
    if((fp1=fopen("bhtmref.img","rb"))==NULL)
    {
         printf("can not open file!");
         return 0;
    }
    if((fp2=fopen("sample2.txt","w"))==NULL)
    {
        printf("can not open file!");
        return 0;
    }

    memset(data1,0,400*640*sizeof(BYTE));		/*   */
    memset(data2,0,400*640*sizeof(DWORD));
    
    fread(data1,sizeof(char),400*640,fp1);		/*  fp1 data1*/

    for(i=0;i<400*640;i++)
    {
        data2[i]=((int)data1[i])*1.0;			/* data1  */
    }
    
	for(i=0;i<400*640;i++)
	{
		if(i%640==0)		/*  640  */
		{
			if(i==0)									/*    ,  */
			{
				fprintf(fp2,"%-4.0f",data2[i]);
			}
			else
			{
				fprintf(fp2,"
",data2[i]); /* 640 */ fprintf(fp2,"%-4.0f",data2[i]); /* , */ } } else { fprintf(fp2,"%-4.0f",data2[i]); /* fp2 */ } } fclose(fp1); fclose(fp2); free(data1); free(data2); return 0; }