Thursday, June 17, 2010

write_data

Digital Signal Processing Library

Voice Lab


write_data



int write_data(FILE *out_file, int data, int data_length)
{
int count;
char c[8];

switch(data_length) {
case 1:
c[0] = 0xFF & data;
count = fwrite(&c, sizeof(char), data_length, out_file);
break;
case 2:
c[0] = 0xFF & data;
c[1] = 0xFF & (data >> 8);
count = fwrite(&c, sizeof(char), data_length, out_file);
break;
case 3:
c[0] = 0xFF & data;
c[1] = 0xFF & (data >> 8);
c[2] = 0xFF & (data >> 16);
count = fwrite(&c, sizeof(char), data_length, out_file);
break;
case 4:
c[0] = 0xFF & data;
c[1] = 0xFF & (data >> 8);
c[2] = 0xFF & (data >> 16);
c[3] = 0xFF & (data >> 24);
count = fwrite(&c, sizeof(char), data_length, out_file);
break;
default:
fprintf(stderr, "Data_length out of range:(%d)! What to do?\n", data_length);
exit(1);
}

return(count);
}


No comments:

Post a Comment