Tag: fwrite

为什么’fopen’返回NULL指针?

我正在使用C编程语言编写一个简单的文件分割器/合并程序。 问题是,由于某种原因, fopen返回NULL,因此,我的程序在fwrite语句中崩溃。 我该如何解决? 这是C文件: int SplitFile(char* filename, char* output, size_t size) { char current_file_name[256]; int file_count = 0, i = 0; FILE *file = fopen( filename, “rb” ); printf(“split %s into chunks of %d named\n”, filename, size); if (!file) return E_BAD_SOURCE; else { output = (char *) malloc(size * sizeof(char)); if (output == NULL) […]

用指针编写和读取(fwrite – fread)结构

我正在研究一个邮箱项目,我有这两个结构: struct mmbox_mail struct mmbox_mail { char *sender, *recipient; char *obj, *date; char flags; size_t size; }; 和 mail_t typedef struct{ struct mmbox_mail info; void *body; void *next; } mail_t; 我无法修改结构的字段,因为我需要可变数据(为此我使用char *而不是char [])。 每个mail_t结构都是一封邮件。 我需要将用户的每个邮件保存在一个文件中,可以是二进制文件或文本文件(但我认为使用二进制文件更好,因为我有一个很难用纯文本保存的void*体。 我试图这样做,但似乎它不起作用: while(mailtmp != NULL){ fwrite(mailtmp, sizeof(mail_t), 1, fp); /* next mail */ mailtmp=mailtmp->next; } while(mailtmp != NULL){ /* i have […]