А по другому никак? Имхо в паскале проще было. Там как-то на это не смотрелось. А тут что ко всем записям прибавлять '\0'
Вот так: Код (Text): #include <stdio.h> #include <string.h> struct header { char stack[5]; char pc[5]; }; void main() { header hdr, hdr2; FILE *f; strcpy(hdr.stack, "1234"); strcpy(hdr.pc, "5678"); f = fopen("1.dat", "wb"); fwrite(&hdr, 1, sizeof(header), f); fclose(f); f = fopen("1.dat", "rb"); fread(&hdr2, 1, sizeof(header), f); fclose(f); printf("%s %s", hdr2.stack, hdr2.pc); } Хотя, как уже писали, для хранения числовых данных лучше использовать числовые типы. И при записи структур в файлы не забывать про выравнивание членов структур(см. опции компилятора про struct member alignment), иначе будут записаны "ненужные" байты или формат файла получится несовместимым