Беззнаковый символ обычно имеет значение 1 байт, поэтому вы можете разложить любой другой тип на массив беззнаковых символов (например, для 4-байтового типа int вы можете использовать массив из 4 беззнаковых символов).Ваше упражнение, вероятно, о дженериках.Вы должны записать файл как двоичный файл, используя функцию fwrite (), и просто записать в файл байт за байтом.
Следующий пример должен записать число (любого типа данных) в файл.Я не уверен, что это сработает, так как вы заставляете приводить к unsigned char * вместо void *.
int homework(unsigned char *foo, size_t size)
{
int i;
// open file for binary writing
FILE *f = fopen("work.txt", "wb");
if(f == NULL)
return 1;
// should write byte by byte the data to the file
fwrite(foo+i, sizeof(char), size, f);
fclose(f);
return 0;
}
Надеюсь, приведенный пример по крайней мере даст вам отправную точку.