【发布时间】:2008-10-23 19:17:49
【问题描述】:
我想使用 fwrite 将默认结构 N 次写入文件。
typedef struct foo_s {
uint32 A;
uint32 B;
char desc[100];
}foo_t;
void init_file(FILE *fp, int N)
{
foo_t foo_struct = {0};
foo_struct.A = -1;
foo_struct.B = 1;
fwrite(&foo_struct, sizeof(foo_struct), N, fp); }
以上代码没有将foo_struct N次写入文件流fp。
相反,它将从 &foo_struct 开始的 N*sizeof(foo_struct) 个字节写入 fp。
谁能告诉我如何通过单个 fwrite 实现相同的功能?
【问题讨论】:
-
只是指出您的代码将 -1 分配给(显然)无符号类型 (foo_struct.A = -1;)。可能不是正确的做法。
标签: c