#include <stdio.h>
#include<stdlib.h>
#include<time.h>
#include <math.h>
#define DEPTH 256 /*数据深度,即存储单元的个数*/
#define WIDTH 4 /*存储单元的宽度*/
int main(void)
{
int i;
int a[256];
int b[4];
srand(time(NULL));
FILE *fp;
fp = fopen("TestMif.mif","w"); /*文件名随意,但扩展名必须为.mif*/
if(NULL==fp)
printf("Can not creat file!\r\n");
else
{
printf("File created successfully!\n");
/*
* 生成文件头:注意不要忘了“;”
*/
fprintf(fp,"DEPTH = %d;\n",DEPTH);
fprintf(fp,"WIDTH = %d;\n",WIDTH);
fprintf(fp,"ADDRESS_RADIX = HEX;\n");
fprintf(fp,"DATA_RADIX = HEX;\n");
fprintf(fp,"CONTENT\n");
fprintf(fp,"BEGIN\n");
for(i=0;i<DEPTH;i++)
{
a[i]=rand()%16;
//printf("%d ",a[i]);
switch(a[i]){
case 0:b[0]=0,b[1]=0,b[2]=0,b[3]=0;break;
case 1:b[0]=0,b[1]=0,b[2]=0,b[3]=1;break;
case 2:b[0]=0,b[1]=0,b[2]=1,b[3]=0;break;
case 3:b[0]=0,b[1]=0,b[2]=1,b[3]=1;break;
case 4:b[0]=0,b[1]=1,b[2]=0,b[3]=0;break;
case 5:b[0]=0,b[1]=1,b[2]=0,b[3]=1;break;
case 6:b[0]=0,b[1]=1,b[2]=1,b[3]=0;break;
case 7:b[0]=0,b[1]=1,b[2]=1,b[3]=1;break;
case 8:b[0]=1,b[1]=0,b[2]=0,b[3]=0;break;
case 9:b[0]=1,b[1]=0,b[2]=0,b[3]=1;break;
case 10:b[0]=1,b[1]=0,b[2]=1,b[3]=0;break;
case 11:b[0]=1,b[1]=0,b[2]=1,b[3]=1;break;
case 12:b[0]=1,b[1]=1,b[2]=0,b[3]=0;break;
case 13:b[0]=1,b[1]=1,b[2]=0,b[3]=1;break;
case 14:b[0]=1,b[1]=1,b[2]=1,b[3]=0;break;
case 15:b[0]=1,b[1]=1,b[2]=1,b[3]=1;break;
}
fprintf(fp,"%d\t:\t%d%d%d%d;\n",i,b[0],b[1],b[2],b[3]);
}//end for
fprintf(fp,"END;\n");
fclose(fp);
}
}码流制造