Запись структуры в бинарный файл - C (СИ)
Формулировка задачи:
если вам покажутся мои вопросы глупыми, не удивляйтесь, решил сам с нуля изучать си, есть книжки интернет и вы =)
нужно записать структуру в бинарный файл
struct rez_bin
{
unsigned long int msec;
char array[512];
};
FILE* fp2 = fopen("C:\\rez.bin", "wb");
char randmass[512];
unsigned long int k;
struct rez_bin rez={k, randmass[512]};
for (k=all1; k<=all2; k+=step)
{
int i;
for (i=0; i<512; i++)
{
randmass[i]=10.0*rand() / RAND_MAX;
}
fwrite (rez, fp2); // тут косяк, возможно и не только тут
}
fclose(fp2);Решение задачи: «Запись структуры в бинарный файл»
textual
Листинг программы
#include <stdio.h>
#define randarr_size
typedef struct {
unsigned long msec;
char randarr[RANDARR_SIZE];
} REZ_BIN;
int main()
{
REZ_BIN rbin;
FILE *pfile = NULL;
if((pfile = fopen("file.dat", "wb")) == NULL) {
fprintf(stderr, "can't open file\n");
exit(1);
}
// .................
// .................
// .................
fwrite(&rbin, sizeof(rbin), 1, pfile);
fclose(pfile);
return 0;
}